Giter VIP home page Giter VIP logo

ming's Introduction

ming


📦开箱即用的微前端工程方案,基于 umi3.x + qiankun@next

🍳从实际中台项目孵化,精简的 开发→构建→部署 全流程应用方案

🧭Demo Site:microfe.herokuapp.com


快速开始

先分别安装基座应用和子应用的依赖,文件结构如下:

Ming
|-- account/ ·········· 子应用 account
|-- car/ ·············· 子应用 car
|-- dist/ ············· 生产环境目录
|-- foundation/ ······· 基座应用
|-- home/ ············· 子应用 home
|-- Dockerfile
|-- app.js ············ hapi 驱动的简单后端路由
|-- package.json

先启动基座应用:

Ming/foundation > $ yarn start

再启动对应的子应用

Ming/account > $ yarn start
Ming/home > $ yarn start
Ming/car > $ yarn start

应用默认运行于 http://localhost:8000


本地开发

本地开发时,子应用运行在不同的端口,集中配置在基座应用的 config/config.dev.ts 中。

说明文档

开发资源


生产构建

推荐 OSS 托管静态文件式部署子应用。

OSS 托管子应用

各个子应用应分别托管到 OSS 后,暴露自己的入口 index.html 路径给基座应用。从版本 1.1.0 开始,集中子应用配置项到 foundation/config/config.prod.ts

const subApps = [
  ...
  {
    name: 'account',
    microApp: 'account',
    entry: 'https://oss.myname.cloud.com/micro_subapp/account/index.html',
    path: 'account',
    title: '账户',
    wrappers: ['@/wrappers/brother'],
    routes: [
      {
        path: '/account/login',
        title: '登录',
      },
    ],
  },
  ...
]

以上部署方式可以实现子应用单独开发、单独更新、甚至技术栈无关(子应用只需暴露符合 Single-SPA/qiankun 的生命周期方法)。

全量打包构建

参考根目录 package.jsonscripts,子应用和基座应用都打包进 /dist 后, 参考 app.js 简单处理静态文件与路由冲突导致的 404 问题即可部署。

生产环境运行

不使用 Docker,直接运行 Node 服务:

Ming/dist > $ PORT=3000 node app.js

Ming 将会运行在 http://localhost:3000

使用 Docker:

先取消注释 dist/Dockerfile 文件中的的端口(PORT)字段

Ming/dist > $ docker build -t vizards/ming .
Ming/dist > $ docker run -p 12580:3000 -d vizards/ming

Ming 将会运行在 http://localhost:12580


LICENSE

The Star And Thank Author License (SATA License)

ming's People

Contributors

vizards avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ming's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.