【发布时间】:2022-01-31 14:58:30
【问题描述】:
让我进一步解释一下,我的意思是我创建了一个已经部署在 heroku 上的 mern 应用程序,现在我想在应用程序中进行更改,但在我再次将其推送到 heroku 之前,我想在本地检查我的更改,所以如何我这样做吗? 我尝试了 heroku 本地命令,但它启动客户端并且无法获取节点服务器路由,请在这里帮助我!?这是我的代码:
节点 app.js
import express from "express";
import bodyParser from "body-parser";
import dotenv from 'dotenv'
import router from './Routes/auth.js'
import path from 'path';
dotenv.config({path:'./config.env'});
const host = '0.0.0.0';
const port = process.env.PORT || 5000;
const app= express()
app.use(router);
if(process.env.NODE_ENV === "production"){
const __dirname=path.resolve();
app.use(express.static(path.join(__dirname,"/client/build")));
app.get("*",(req,res)=>{
res.sendFile(path.resolve(__dirname,'client','build','index.html'));
})
}
app.listen(port,host,()=>{
console.log(`Server Started Succesfully on port number ${port}`);
})
package.jso(nodejs)
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "app.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "npx nodemon app.js",
"client":"npm start --prefix client",
"dev":"concurrently \"npm start\" \"npm run client\"",
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"bcryptjs": "^2.4.3",
"body-parser": "^1.19.1",
"cookie-parser": "^1.4.6",
"dotenv": "^10.0.0",
"express": "^4.17.2",
"jsonwebtoken": "^8.5.1",
"moment": "^2.29.1",
"mongoose": "^6.1.8"
}
}
【问题讨论】:
-
我不确定您真正要问的是什么。如果您正在谈论进行更改然后立即查看它们,我认为您只需要运行 npm run start。您必须在 app.js 目录中打开一个新终端,然后键入 npm run start。
-
@LuddensDesir 我想你明白了我想要表达的意思,但这正是我一直在尝试的。发生的事情是客户端成功运行,但是当我(例如)尝试登录时没有任何反应,所以我检查了日志,上面写着“加载资源失败:服务器响应状态为 404(未找到)”那我能做什么在这里做 P.s 在已部署的网站上运行良好,并且在 b4 部署上运行良好
-
@LuddensDesir 服务器也成功启动,即我也在运行 node.js 服务器
-
哦。我认为这可能是因为当您在本地计算机上运行时,您的 process.node.ENV 设置为生产。它要么没有在你的本地机器上设置,要么你正在“开发”中,就像我总是在我的本地机器上输入它一样。您可以使用 dotenv 设置环境变量,我认为是应用程序本地的。要在 Windows 10 上全局执行此操作,只需按开始按钮,然后按 env。 “系统属性”会出现。单击“环境变量”我通常将 NODE_ENV = development 添加到用户和系统。
-
哈哈 ikr 无论如何再次感谢您的帮助!
标签: node.js reactjs mongodb heroku mern