簡體   English   中英

在 Heroku 上部署 Express 應用程序錯誤:找不到模塊“/app/server.js”

[英]Deployment of Express application on Heroku Error : Cannot find module '/app/server.js'

我一直在嘗試在 Heroku 上部署我的 Express 應用程序並且構建已成功創建,但是當我嘗試打開它時,我收到一條錯誤消息,基本上指出無法提供該頁面。

因此,我運行heroku logs --tail然后收到以下錯誤消息:

二分之一的錯誤信息

剩余一半的錯誤信息

文件樹

簡介

web: node server.js

Package.json

{
      "name": "conduit-api",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "start": "node server.js"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "bcrypt": "^5.0.1",
        "body-parser": "^1.19.0",
        "cors": "^2.8.5",
        "express": "^4.17.1",
        "jsonwebtoken": "^8.5.1",
        "nodemon": "^2.0.12",
        "pg": "^8.7.1",
        "pg-hstore": "^2.3.4",
        "redux-persist": "^6.0.0",
        "sequelize": "^6.6.5"
      },
      "devDependencies": {
        "cross-env": "^7.0.3"
      }
    }

服務器.js

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const { sequelize } = require('./src/entities/User/User');
const db = require('./src/config/Database');
const feedRoute = require('./src/routes/Feed/Feed');
const usersRoute = require('./src/routes/Users/Users');
const userRoute = require('./src/routes/User/User');
const articlesRoute = require('./src/routes/Articles/Articles');
const profilesRoute = require('./src/routes/Profiles/Profiles');
const commentsRoute = require('./src/routes/Comments/Comments');

const app = express();

app.use(cors());

app.use(bodyParser.json());

//  Routes

app.use('/api/feed', feedRoute);

app.use('/api/users', usersRoute);

app.use('/api/user', userRoute);

app.use('/api/articles', articlesRoute);

app.use('/api/profiles', profilesRoute);

app.use('/api/articles', commentsRoute);

// REQUESTS

app.get('/', async (req,res) => {
    res.json('Yooooooooooo')
    try {
        await db.authenticate();
        console.log('Connection has been established');
    } catch(err) {
        console.log('Error');
    }
})

// To START sequelize and also wipes the DB clean

// async function main() {
//     await sequelize.sync({force: true})
// }

// main()

// TO START sequelize 

const PORT = process.env.PORT || 3000;

app.listen(PORT , () => {
    console.log(`App is listening to ${PORT}`);
})

我已經嘗試修改我的 procfile 並刪除並重新安裝模塊,但問題仍然存在。

我已經堅持了好幾天了,非常感謝任何形式的幫助。

看起來你的問題是你將package.json中的 main 指向一個不存在的文件。

Package.json

"main": "index.js"

您的應用程序似乎是從您的server.js文件部署的。

main字段是一個模塊 ID,它是程序的主要入口點。 根據文檔:https://docs.npmjs.com/cli/v7/configuring-npm/package-json#main

暫無
暫無

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

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