如何获取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.js
replacenode node_modules/webpack/bin/webpack.js
webpack
。