如何获取project.json中的脚本才能在debugging时执行

所以我有我的prod中运行webpack的预发布脚本

"scripts": { "prepublish": [ "npm install", "node node_modules/webpack/bin/webpack.js --env.prod" ], "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 

但是,我如何运行一个只在debugging中执行的脚本呢?

我想实现的是每次在debugging模式下构build项目时,使webpack运行时不使用–env.prod。

你可以编写一个shell脚本来检查NODE_ENV并根据结果使用或不使用--env.prod运行webpack。

 "scripts": { "prepublish": "./scripts/prepublish" } 

脚本/ prepublish:

 #!/bin/bash npm install if [[ $NODE_ENV = "production" ]]; then node node_modules/webpack/bin/webpack.js --env.prod else node node_modules/webpack/bin/webpack.js fi 

一个优雅的解决scheme是设置生产环境variables,例如: WEBPACK_FLAGS=--env.prod 。 那你可以这样做:

 "scripts": { "prepublish": "webpack $WEBPACK_FLAGS" } 

或者你可以直接传递值:

 "scripts": { "prepublish": "webpack --env.$NODE_ENV" } 

你也可以像SimpleJ那样做一个if语句提示:

 "scripts": { "prepublish": "if [[ $NODE_ENV = "prod" ]]; then webpack --env.prod"; else webpack; fi" } 

我可能会误解,但是我相信webpack将永远是webpack别名,以便您可以用node node_modules/webpack/bin/webpack.jsreplacenode node_modules/webpack/bin/webpack.js webpack