我是应用程序开发的新手,所以对于您经验丰富的专业人士,我相信这是一个简单的问题。
我有一个简单的MERN堆栈应用程序正在开发中运行,同时使用它可以同时运行前端和后端。在将应用程序部署到Heroku之前,我想验证它是否可以在Heroku命令行“ Heroku local web”下运行。这成功启动了我的服务器并连接了我的数据库,但是它根本没有启动前端。我认为我的package.json脚本可能有问题,但是我已经尝试了一切。我的脚本如下:
"scripts": {
"install-client": "cd client && npm install",
"start": "node server.js",
"build": "cd client && npm run build",
"client": "cd client && npm start",
"dev": "concurrently -n 'server,client' -c 'red,green' \"nodemon server.js\" \"npm run client\"",
"heroku-postbuild": "npm run install-client && npm run build",
"test": "echo \"Error: no test specified\" && exit 1"
},
答案 0 :(得分:0)
我想您使用npm run dev
在本地计算机上运行您的应用程序,但是根据heroku的文档here,除非您通过名为{{1}的文件另外指定,否则它们使用npm start
启动您的应用程序}在您应用的根目录中。
package.json文件中的启动脚本实际上仅运行服务器(Procfile
)。
尝试将node server.js
脚本的内容复制到dev
脚本,或用单行添加名为start
的文件:
Procfile
或您使用的任何命令,都位于应用程序的根目录中。