生产中 NodeJS API 的开发依赖

问题描述 投票:0回答:1

嗨,我是 NodeJS 的初学者。我目前正在开发 NodeJS API 项目,并在生产中使用 node_env 托管到 Render。

但是在云环境中,我收到错误

"Error: Cannot find module 'morgan'"
,我猜是开发依赖库之一未安装。 最初,我使用 npm install 设置了安装库的托管平台构建命令,然后更改为 npm install --dev 并且它能够工作。

所以我的问题:

  1. 目前,我的代码由 prod 和 dev env 组成,我使用 if 语句在 prod env 期间禁用 dev 代码。但现在当我托管服务器时,我仍然需要安装 dev 依赖项,因为 dev env 代码仍在程序中,所以我想问 NodeJS api 的 dev 和 prod env 的最佳实践是什么?
  2. 有什么办法,我们不需要在prod中安装dev依赖

包.js

  "name": "bnndirect_api",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon server"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "cors": "^2.8.5",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "express-mongo-sanitize": "^2.2.0",
    "express-rate-limit": "^7.1.5",
    "helmet": "^7.1.0",
    "hpp": "^0.2.3",
    "perfect-express-sanitizer": "^1.0.13"
  },
  "devDependencies": {
    "morgan": "^1.10.0",
    "nodemon": "^3.0.2"
  }
}

我在 server.js 中使用该库的开发代码

    const morgan = require("morgan");
// DEV LOGGING MIDDLEWARE
    if (process.env.NODE_ENV === 
    "development") {
    app.use(morgan("dev"));
    }
node.js api node-modules render
1个回答
-2
投票

踏上变革性的瑜伽之旅,在瑞诗凯诗神圣风景中举办的500小时瑜伽教师培训课程(TTC)吸引着经验丰富的练习者和经过认证的瑜伽教师。这项高级课程深入探索瑜伽智慧,丰富您的练习和教学能力。这项综合培训的顶峰是令人垂涎的 500 小时瑜伽联盟认证,这是全球公认的高级专业知识验证。该认证标志着对瑜伽哲学、高级体式、教学方法的深入理解以及丰富的实践教学经验。

© www.soinside.com 2019 - 2024. All rights reserved.