我正在使用heroku/nodejs
构建包。
这是我在package.json中的脚本的样子:
"scripts": {
"build": "webpack --config webpack.prod.js",
"server": "http-server public -p 3000 -a localhost -c 0",
"prod": "npm run build && npm run server",
"dev": "webpack-dev-server --config webpack.dev.js",
"lint": "eslint . --fix"
},
在procfile中我只有一行代码:
web: npm run prod
任何想法为什么我看到应用程序错误?
答案 0 :(得分:0)
关于错误,我认为您应该使用环境变量$PORT
,即http-server public -p $PORT -c 0
确保您拥有http-server
而不是devDeps。
这可能不会导致错误,但您不应该在运行时进行构建。而是将构建步骤添加到postinstall
NPM脚本,如下所示。
"scripts": {
"build": "webpack --config webpack.prod.js",
"postinstall": "npm run build",
"server": "http-server public -p $PORT -c 0",
"prod": "npm run server",
"dev": "webpack-dev-server --config webpack.dev.js",
"lint": "eslint . --fix"
},
这将确保您的构建在部署时运行,而不是每次都启动节点进程。