【问题标题】:How to fix Node JS error cannot find module 'express' on heroku?如何修复 Node JS 错误在 heroku 上找不到模块“express”?
【发布时间】:2020-12-09 06:17:30
【问题描述】:

我有下面的节点 js 代码,它在本地工作得很好,但是当我将它部署到 heroku 时,我得到一个错误说“错误:找不到模块'express' internal/modules/cjs/loader.js:968 抛出错误”

    const port = process.env.PORT || 5000;
    const express = require('express');
    require('dotenv').config();
    const app = express();
   
    app.set('view-engine','ejs');
    app.use(express.urlencoded({extended:false}));
    app.get('/',(req,res) => {
    res.render('index.ejs');
   });
   app.listen(port, ()=>{console.log(`Listening on http://localhost:${port}`)});

package.json

{
  "name": "mtNodeApp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "devStart": "nodemon index.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "bcrypt": "^5.0.0",
    "body-parser": "^1.19.0",
    "dotenv": "^8.2.0",
    "ejs": "^3.1.3",
    "express": "^4.17.1",
    "mongoose": "^5.10.0",
    "nodemon": "^2.0.4",
    "request": "^2.88.2"
  }
}

任何想法,我不确定我错过了什么?!

谢谢

【问题讨论】:

    标签: javascript node.js express heroku heroku-cli


    【解决方案1】:

    快递必须在dependencies而不是devDependecies

    {
     ...
      "dependencies" {
        "express": "^4.17.1",
        ...
      }
      "devDependecies": {
      ...
    }
    

    另外,可能大多数必须在dependencies,以便服务器知道必须安装什么。基本上,它忽略了模块的安装,因为它们是用于开发而不是生产的。

    编辑:如果您想了解更多信息,可以阅读这个很棒的答案。

    Stackoverflow answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-21
      • 2018-09-03
      • 1970-01-01
      • 2021-03-17
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      相关资源
      最近更新 更多