簡體   English   中英

Heroku:找不到包'mongodb'

[英]Heroku: Cannot find package 'mongodb'

我試圖將我的項目上傳到heroku,但我的應用程序不斷因錯誤[ERR_MODULE_NOT_FOUND] 崩潰:找不到包'mongodb'。

該項目是 Angular 和 Node.js 與 express 我遵循了一些指南並將 mongo URI 路徑插入到 heroku 中的環境。 看來我可能錯過了什么..

我在服務器庫中的 package.json:

{
  "name": "src",
  "version": "1.0.0",
  "description": "",
  "type": "module",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "mongodb": "^4.6.0",
    "path": "^0.12.7"
  },
  "engines": {
    "node": "16.14.0",
    "npm": "8.5.2"
  }
}

heroku 上的錯誤: error

app.js:

import express from 'express'
import cors from 'cors'
import bodyParser from 'body-parser'
import { MongoClient } from 'mongodb'
import bearerToken from "express-bearer-token"
import path from 'path';
import {fileURLToPath} from 'url';
import dotenv from 'dotenv';

import { loginRoutes } from './routes/login.routes.js'
import { taskRoutes } from './routes/task.routes.js'
import { usersRoutes } from './routes/users.routes.js'
import { authorize } from './controllers/authorize.controller.js'

dotenv.config()

export const envValue = process.env

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const app = express()

const client = new MongoClient(process.env.MONGODB_URI)
await client.connect()
export const usersDB = await client.db('Users').collection('users')
export const tasksDB = await client.db('Tasks').collection('tasks')

app.use(cors())
// Serve only the static files form the dist directory
app.use(express.static(__dirname + '/dist/taski-web-app'));

app.get('/*', function(req,res) {
    
res.sendFile(path.join(__dirname+'/dist/taski-web-app/index.html'));
});


app.use(bodyParser.json())

app.use('/', loginRoutes)

app.use(bearerToken())

app.use('/', authorize)

app.use('/', taskRoutes)

app.use('/', usersRoutes)

app.listen(process.env.PORT || 1000, '0.0.0.0', function(){
    console.log("server is listening on port 1000")
});

有什么建議么?

推送到 Heroku master 時不忽略node_modules文件夾似乎是問題所在。

刪除node_modules文件夾然后推送到 master 就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM