【问题标题】:How to make changes to mern app deployed on heroku and how to check the changes before I deploy it in production?如何对部署在 heroku 上的 mern 应用程序进行更改,以及如何在将其部署到生产环境之前检查更改?
【发布时间】: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"
  }
}

My file system

【问题讨论】:

  • 我不确定您真正要问的是什么。如果您正在谈论进行更改然后立即查看它们,我认为您只需要运行 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


【解决方案1】:

根据我的测试你可以这样做:

  1. 检查浏览器工具:喜欢响应性
  2. 在 DevTools 中检查您的元素
  3. 所有页面所有 Div 标记元素、应用的响应能力以及您可以检查应用的设计
  4. 对于节点服务器路由,您可以通过在 Postman API 工具中测试来检查它
  5. 就可以部署了

【讨论】:

  • 谢谢,但是我要问的是,在将网站部署到 heroku 之后,我如何进行更改并在本地测试它 b4 再次重新部署它
猜你喜欢
  • 2021-06-09
  • 2020-12-24
  • 2019-08-31
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-02
  • 2015-09-04
相关资源
最近更新 更多