在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ react-router做ERP系統(tǒng)管理后臺,如何實現(xiàn)多站點路由?

react-router做ERP系統(tǒng)管理后臺,如何實現(xiàn)多站點路由?

現(xiàn)用react做一套后臺管理系統(tǒng),該系統(tǒng)集成了A,B,C,D四個系統(tǒng),4個系統(tǒng)有公用的components,需要分布在同一個域名下的不同站點上,如何配置webpack對這4個系統(tǒng)進(jìn)行拆包分別布置在站點上,如何4個系統(tǒng)放在一起協(xié)同開發(fā),路由如何分配。

我大概的思路是:一個項目,首頁用戶選擇系統(tǒng)的時候進(jìn)行路由選擇,也就是我為每個系統(tǒng)配置一個路由,選系統(tǒng)也選定一個路由,并跳至該路由的首頁,那么問題就是webpack如何拆包將代碼布置到不同站點上?選擇系統(tǒng)的時候如何對路又進(jìn)行設(shè)置?

clipboard.png

回答
編輯回答
厭惡我

1.我覺得4個系統(tǒng)那就是要4個項目,每個項目都有自己的配置文件,這樣就每個系統(tǒng)都可以單獨打包,單獨上線
2.公用的components可以發(fā)布到npm或者內(nèi)部的私有庫,這樣就不同項目之間就可以共享,而不需要把所有的項目都耦合在一起

2018年9月11日 05:48
編輯回答
哎呦喂

1L正解。

當(dāng)然是建立在你愿意建立這樣一個私有庫,然后開多個項目進(jìn)行管理。
如果你僅僅是一個人開發(fā),然后不需要考慮后期維護(hù)的復(fù)雜性。那么可以接下去設(shè)計。

|-src
   |- Common 這里存放你的通用組件或者公用的其他東西
   |- Main Main 中直接用a標(biāo)簽實現(xiàn)就可以了,通過a標(biāo)簽調(diào)到其他4個系統(tǒng)
   |- A  認(rèn)為是一個項目
    |- index.js   這里是一個項目,該怎么寫怎么寫
    |- router
    |- redux
   |- B  認(rèn)為是一個項目
|-webpack.config.js

最后重頭就在打包上面了。
你需要打成5個包,每個站點上一個包。

首先Webpack3有一個新概念叫做
Exporting multiple configurations

可以導(dǎo)出這樣的形式

module.exports = [{
  output: {
    filename: './dist-amd.js',
    libraryTarget: 'amd'
  },
  entry: './app.js',
}, {
  output: {
    filename: './dist-commonjs.js',
    libraryTarget: 'commonjs'
  },
  entry: './app.js',
}]

你可以遍歷src下面的文件夾來進(jìn)行多個項目的打包。

nodejs讀取src文件夾.map((name) => {
  output: {
      filename: `.${name}/[name].js`,
  },
  entry: `./${name}.js`,
});

這是偽代碼,隨便寫的,大致思路

2018年7月25日 03:22