При развертывании моего репозитория github repact app на Heroku у меня возникает проблема с NODE_ENV
value всегда = 'dev', которая совпадает с моей локальной версией. Естественно, я предположил, что случайно загрузил свой файл .env, поэтому я проверил репо, но файла там не было. Поэтому я использовал консоль Heroku и сделал console.log(process.env.NODE_ENV)
, который возвратил «production», а затем каким-то образом возвратил второе значение «undefined». В журнале сборки для Heroku он утверждает NODE_ENV=production
. Я также пытался установить значение для продукции в package.json
на разных этапах процесса сборки. Использование Procfile, похоже, тоже ничего не делает. В моем бэкэнде, если я делаю console.log из NODE_ENV в производстве, он говорит 'dev'. Я также попытался изменить локальный NODE_ENV на случайную строку, и производственная сборка также отразила это изменение. Я не уверен, что именно я делаю не так.
Вот блок кода, который я проверяю env:
router.route('/update/:id').post((req, res) => {
console.log(process.env.NODE_ENV);
Stat.findById(process.env.NODE_ENV === 'production' ? req.params.id : req.params.id+"TEST")
.then(stat => {
let masterList = stat.itemList;
let filterList = new Promise((resolve, reject) => {
masterList.forEach((item, index) => {
if (req.body.itemList[index].count > 0) {
item.count += req.body.itemList[index].count;
if (req.body.itemList[index].selected) {
item.wanted += req.body.itemList[index].count;
}
else {
item.unwanted += req.body.itemList[index].count;
}
}
})
resolve();
});
filterList.then(() => {
stat.total += req.body.total;
stat.itemList = masterList;
stat.markModified('itemList');
stat.save()
.then(() => res.json(stat))
.catch(err => res.status(400).json('Error: ' + err));
})
})
.catch(err => res.status(400).json('Error: ' + err));
});
Вот мой пакет. json:
{
"name": "react-app",
"version": "0.1.0",
"private": true,
"homepage": ".",
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"axios": "^0.19.2",
"cors": "^2.8.5",
"express": "^4.17.1",
"mongoose": "^5.9.7",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.1"
},
"scripts": {
"start": "node backend/server.js && npm run start-client.js",
"start-dev": "react-scripts start",
"build": "react-scripts build",
"server": "node backend/server.js",
"heroku-postbuild": "npm install && npm run build"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version",
"last 10 edge version"
]
}
}