javascript - 为什么 app.use(fn, '/api/auth', require('./routes/auth.routes')) 错误?
问题描述
我是 Node.js 的新手。错误是什么以及如何解决?请帮助我错误代码+下面是我的代码:
app.use(fn, '/api/auth', require('./routes/auth.routes'))
ReferenceError: fn is not defined
at Object.<anonymous> (D:\Apps\app.js:6:9)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
const express = require('express')
const config = require('config')
const mongoose = require('mongoose')
const app = express()
app.use(fn, '/api/auth', require('./routes/auth.routes'))
const PORT = config.get('port') || 5000
async function start() {
try{
await mongoose.connect(config.get ('mongoUri'), {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true
})
app.listen(PORT, () => console.log('App worked'))
} catch (e){
console.log('Server Error', e.message)
process.exit(code, 1)
}
}
start()
试过了 app.use(fn: '/api/auth', require('./routes/auth.routes')),但是不行
解决方案
正确的调用app.use()
采用第一个可选参数,该参数是表示路径或路径前缀的字符串,然后它采用任意数量的中间件函数引用。app.use()
此处的文档参考。
所以,你在做什么:
app.use(fn, '/api/auth', require('./routes/auth.routes'))
不是一种有效的调用方式app.use()
,然后最重要的是,fn
甚至没有定义这使其成为 ReferenceError (甚至不会运行)。
我不知道您从哪里想到使用您拥有的表格,但它可能应该是这样的:
app.use('/api/auth', require('./routes/auth.routes'))
推荐阅读
- python - 本地主机端口即使在杀死并释放端口后仍在运行
- npm - 发布了一个 npm,但在互联网上无处可见
- r - Mutate while accessing value in list column in a pipe with map and pluck
- python-3.x - 在 pandas 单元格中的列表中查找一个数字,并从第二个 DF 返回相应的字符串值
- python - openCV 模糊图像
- javascript - 仅向来自 Facebook 的访问者展示广告
- javascript - What exactly is regarded as 'document read' in Cloud Firestore?
- visual-studio-code - 范围开放标记仅在 VSCode/Textmate HTML 语法中
- mysql - SQL - 嵌套查询优化
- javascript - ElectronJS: avoiding cross-origin issues