[英]how to target differnt apps from same webpack config file based on command line arguments to npm start command
我有3個不同的具有相似依賴項的reactjs應用程序。 我可以使用相同的webpack.config.js文件運行這些不同的應用程序。 以下是我想要的目錄結構
-root
--App1
---source
---index.html
---style.css
--App2
--App3
--package.json
--node_modules
--webpack.config.js
在package.json
我有以下啟動腳本
"scripts":{
"start":"node_modules/.bin/webpack-dev-server --progress --port 3000"
}
我在發出npm start
命令時嘗試使用命令行參數:
npm start App1
然后在webpack.config.js
使用process.argv
設置入口點和輸出路徑。
var path= require('path');
var app= path.resolve(__diname,process.argv[process.argv.length-1]);
module.exports = {
entry: path.resolve(app, 'source/app.js'),
output: {
path: app,
filename: "bundle.js"
},
.......
.......
webpack加載並編譯App#/source
文件夾中的文件,但不提供App#
目錄中的內容。 我在這里的錯誤是什么,還有沒有其他選擇可以完成這項工作。
您可以創建另一個配置文件,例如webpack.config.app1.js來構建App1,如下所示:
webpack && webpack --config webpack.config.app1.js
等等。
另一種方法是使webpack配置從對象到數組,包含配置的這三個對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.