javascript - 错误:找不到模块“./api/routers”
问题描述
你好,
希望你们都做得很好...
我正在尝试开发 NextJS 单页 Web 应用程序。对于 nextJs 自定义服务器,我使用 Express、MongoDB,此外,使用 nodemon 进行热重载。如果我启动服务器,它会显示错误(错误:找不到模块'./api/routers')模块找不到,最后应用程序崩溃了。但我创建了 api/routers 文件夹和文件另外,创建和导出快速路由器功能。
const router = require("express").Router();
router.get("/all", (req, res) => {
res.json({ message: 'It's working...' });
})
module.exports = router;
请在下面讲述我的文件夹结构和服务器设置。我做的服务器设置有什么问题吗?
请帮助我了解@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);
})
请在此处查看文件夹结构和 nodemon json 设置
控制台也报错
解决方案
这不起作用,因为您正在尝试导入文件夹而不是包含这些路由的文件
const routers = require("./api/routers")
尝试这个
const routers = require("./api/routers/router")
推荐阅读
- javascript - 如何使用默认导出在 TypeScript 类型中描述 JavaScript 类静态工厂方法?
- node.js - Node/Express:使用异步等待的 API
- python - 为什么 pygame 需要 time.sleep 在退出之前播放声音?
- excel - 根据 Excel 标准对最大值求和
- javascript - Javascript 装饰器监听器
- angular - FormGroup 指令如何在模板驱动的表单中使用?
- xcode - Xcode 可以在 XPC 服务中捕获 GPU 帧吗?
- node.js - AppEngine 实例小时数
- php - add_action() 中的“$this”到底是什么
- javascript - jQuery 巩固过多的 if/else 条件