我正在使用webpack和heroku。 当我将网站推送到heroku时,它将重新启动并执行“ npm run start”。 当我将网站推送到heroku时,我想做的就是用“ npm run build”进行“ npm run start”
这是我的pakage.json
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --hot --open --inline",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
"start": "set NODE_ENV=production webpack --progress --hide-modules&&node server.js"
},
我尝试过的是这个,但是没有用
"start": "set NODE_ENV=production webpack --progress --hide-modules&&node server.js"
答案 0 :(得分:0)
也许您的脚本无法在heroku中运行,因为默认情况下,它们运行的是linux,而您正在尝试运行属于Windows的“ set” 命令。尝试将其从脚本中删除,然后让 cross-env 为您完成所有其他工作:)
我知道这不是最好的解决方案,但希望它能对您有所帮助:
如果问题出在运行命令的串联中,则可以将"npm-run-all"安装到项目中,然后就可以以保密的顺序运行多个脚本。
根据您的情况,您可以这样设置脚本:
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --hot --open --inline",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
"start": "set NODE_ENV=production webpack --progress --hide-modules",
"run-server": "node server.js",
"build-sart-n-run": "run-s build start run-server"
}
之后,您可以通过Heroku CLI using a procfile或登录时使用网络用户界面提供的工具运行下一个命令:
$ node build-sart-n-run
对不起,如果我的英语水平很好:)