最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

错误:找不到模块'.apirouters'

IT培训 admin 6浏览 0评论

错误:找不到模块'./api/routers'

嗨,

希望大家都过得不错...

我正在尝试开发NextJS单页Web应用程序。对于nextJs定制服务器,我使用Express,MongoDB,同时使用nodemon进行热重装。如果我启动服务器,则显示错误(错误:找不到模块'./api/routers')模块,最终应用程序崩溃。请在下面讲述我的文件夹结构和服务器设置。我所做的服务器设置有什么问题吗?

[请帮助我认识@all,专家开发人员。

const express = require('express')
const next = require('next')
const bodyParser = require('body-parser')
const port = process.env.PORT || 3000
const dev = process.env.NODE_DEV !== 'production' //true false
const nextApp = next({ dev })
const handle = nextApp.getRequestHandler() //part of next config

const db = require("mongoose")
const routers = require("./api/routers")

// const mongoose = require("mongoose")
// const db = mongoose.connect('mongodb://localhost:27017/Profile',{ useUnifiedTopology: true, useNewUrlParser: true })

const db_uri = "mongodb://localhost:27017/profile"


nextApp.prepare()
  .then(() => {
    const app = express()
    app.use(bodyParser.json())
    app.use(bodyParser.urlencoded({ extended: true }))

    app.use('/api', routers)

    app.all('*', (req, res) => {
      return handle(req, res)
    })
    app.listen(port, err => {
      if (err) {
        throw err
      } else {
        db.connect(db_uri,
          { useUnifiedTopology: true, useNewUrlParser: true }, () => {
            console.log("Database Connected...");
            console.log(`> Server is running on http://localhost:${port}`)
          })
      }
    })
  })
  .catch((ex) => {
    console.error(ex.stack);
    process.exit(1);
  })
回答如下:
const express = require('express')
const next = require('next')
const bodyParser = require('body-parser')
const port = process.env.PORT || 3000
const dev = process.env.NODE_DEV !== 'production' //true false
const nextApp = next({ dev })
const handle = nextApp.getRequestHandler() //part of next config

const db = require("mongoose")
const routers = require("./api/routers") // there's no index.js

// const mongoose = require("mongoose")
// const db = mongoose.connect('mongodb://localhost:27017/Profile',{ useUnifiedTopology: true, useNewUrlParser: true })

const db_uri = "mongodb://localhost:27017/profile"


nextApp.prepare()
  .then(() => {
    const app = express()
    app.use(bodyParser.json())
    app.use(bodyParser.urlencoded({ extended: true }))

    app.use('/api', routers)

    app.all('*', (req, res) => {
      return handle(req, res)
    })
    app.listen(port, err => {
      if (err) {
        throw err
      } else {
        db.connect(db_uri,
          { useUnifiedTopology: true, useNewUrlParser: true }, () => {
            console.log("Database Connected...");
            console.log(`> Server is running on http://localhost:${port}`)
          })
      }
    })
  })
  .catch((ex) => {
    console.error(ex.stack);
    process.exit(1);
  })

默认情况下,require会假设如果找不到模块,则存在一个index.js文件,允许以./api/routers的身份导入,即引用的目录不包含index.js(x)。

直接引用./api/routers/router或创建索引文件。

错误:找不到模块'./api/routers'

嗨,

希望大家都过得不错...

我正在尝试开发NextJS单页Web应用程序。对于nextJs定制服务器,我使用Express,MongoDB,同时使用nodemon进行热重装。如果我启动服务器,则显示错误(错误:找不到模块'./api/routers')模块,最终应用程序崩溃。请在下面讲述我的文件夹结构和服务器设置。我所做的服务器设置有什么问题吗?

[请帮助我认识@all,专家开发人员。

const express = require('express')
const next = require('next')
const bodyParser = require('body-parser')
const port = process.env.PORT || 3000
const dev = process.env.NODE_DEV !== 'production' //true false
const nextApp = next({ dev })
const handle = nextApp.getRequestHandler() //part of next config

const db = require("mongoose")
const routers = require("./api/routers")

// const mongoose = require("mongoose")
// const db = mongoose.connect('mongodb://localhost:27017/Profile',{ useUnifiedTopology: true, useNewUrlParser: true })

const db_uri = "mongodb://localhost:27017/profile"


nextApp.prepare()
  .then(() => {
    const app = express()
    app.use(bodyParser.json())
    app.use(bodyParser.urlencoded({ extended: true }))

    app.use('/api', routers)

    app.all('*', (req, res) => {
      return handle(req, res)
    })
    app.listen(port, err => {
      if (err) {
        throw err
      } else {
        db.connect(db_uri,
          { useUnifiedTopology: true, useNewUrlParser: true }, () => {
            console.log("Database Connected...");
            console.log(`> Server is running on http://localhost:${port}`)
          })
      }
    })
  })
  .catch((ex) => {
    console.error(ex.stack);
    process.exit(1);
  })
回答如下:
const express = require('express')
const next = require('next')
const bodyParser = require('body-parser')
const port = process.env.PORT || 3000
const dev = process.env.NODE_DEV !== 'production' //true false
const nextApp = next({ dev })
const handle = nextApp.getRequestHandler() //part of next config

const db = require("mongoose")
const routers = require("./api/routers") // there's no index.js

// const mongoose = require("mongoose")
// const db = mongoose.connect('mongodb://localhost:27017/Profile',{ useUnifiedTopology: true, useNewUrlParser: true })

const db_uri = "mongodb://localhost:27017/profile"


nextApp.prepare()
  .then(() => {
    const app = express()
    app.use(bodyParser.json())
    app.use(bodyParser.urlencoded({ extended: true }))

    app.use('/api', routers)

    app.all('*', (req, res) => {
      return handle(req, res)
    })
    app.listen(port, err => {
      if (err) {
        throw err
      } else {
        db.connect(db_uri,
          { useUnifiedTopology: true, useNewUrlParser: true }, () => {
            console.log("Database Connected...");
            console.log(`> Server is running on http://localhost:${port}`)
          })
      }
    })
  })
  .catch((ex) => {
    console.error(ex.stack);
    process.exit(1);
  })

默认情况下,require会假设如果找不到模块,则存在一个index.js文件,允许以./api/routers的身份导入,即引用的目录不包含index.js(x)。

直接引用./api/routers/router或创建索引文件。

发布评论

评论列表 (0)

  1. 暂无评论