为什么 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:Appsapp.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'))

最新更新