我尝试将 mern 应用程序部署到 heroku 并成功部署,但是当我单击打开应用程序时,出现此错误:
The "path" argument must be of type string. Received an instance of Object
这是我的 package.json:
{
"name": "express-react-starter",
"version": "0.1.0",
"private": true,
"engines": {
"node": "14.x",
"npm": "6.x"
},
"dependencies": {
"@sendgrid/mail": "^7.4.2",
"axios": "^0.21.1",
"body-parser": "^1.19.0",
"cookie-parser": "^1.4.3",
"cors": "^2.8.5",
"debug": "^2.6.9",
"dotenv": "^8.2.0",
"eslint": "^7.19.0",
"express": "^4.17.1",
"helmet": "^4.4.1",
"jade": "^1.11.0",
"mongoose": "^5.11.12",
"morgan": "^1.10.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-icons": "^4.1.0",
"react-router-dom": "^5.2.0",
"react-scripts": "^4.0.1",
"sendgrid": "^5.2.3",
"serve-favicon": "^2.5.0",
"styled-components": "^5.2.1"
},
"devDependencies": {
"concurrently": "^3.5.0",
"nodemon": "^1.12.0"
},
"scripts": {
"start": "node ./server/server.js",
"dev": "concurrently \"react-scripts start\" \"nodemon server/server.js\"",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"proxy": "http://localhost:3001",
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
在我使用 env varibales 的每个文件中,我在文件的开头使用这个片段:
if (process.env.NODE_ENV !== 'production') {
require('dotenv').config();
}
关于部署的一切都成功了,我在 heroku 网络应用程序的控制台和 gui 上都没有任何错误