代码之家  ›  专栏  ›  技术社区  ›  suer231232131133

Express.js应用程序在本地工作,但未能在Netlify/Vercel/Render上部署,尽管有以下文档

  •  0
  • suer231232131133  · 技术社区  · 1 年前

    我有一个server.js文件

    const dotenv = require('dotenv').config({ path: 'config.env' });
    const http = require('http');
    const mongoose = require('mongoose');
    const app = require('./app');
    // connection do DB
    const DB = process.env.DATABASE.replace(
      '<password>',
      process.env.DATABASE_PASSWORD
    );
    
    mongoose
      .connect(DB, {
        dbName: 'JSQuiz',
        useNewUrlParser: true,
        useCreateIndex: true,
        useFindAndModify: false,
        useUnifiedTopology: true
      })
      .then(() => console.log('DB connection successful!'));
    
    const port = process.env.PORT;
    
    const server = http.createServer(app);
    
    server.listen(port, () => {
      console.log(`App running on port ${port}...`);
    });
    

    package.json文件:

    {
      "name": "server",
      "version": "1.0.0",
      "engines": {
        "node": "18.x"
      },
      "description": "Server for Vue app",
      "main": "server.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
    

    正在工作的app.js(隐藏了很多代码):

    const homeRouter = require('./routes/homeRoutes');
    const routers = [...homeRouter...]
    routers.forEach(router => {
      app.use('/api/v1', router);
    });
    

    我有一个express.js应用程序,运行得很好。但在遵循了他们的文档和教程后,我无法将其部署到netlify/vercel/render上。所以我想问题出在我的代码上。我试着使用不同的部署平台,这应该很容易,但托管一个express应用程序比我想象的要困难。但我的代码很简单,但我不明白为什么它不起作用。你看到问题了吗?

    0 回复  |  直到 1 年前