簡體   English   中英

如何基於npm start命令的命令行參數從同一webpack配置文件中定位不同的應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM