[英]Can't app.use two different routers in my index.js file
您好,我正在嘗試創建一個反應應用程序,但我遇到了后端問題。
我有一個這樣的索引文件
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const db = require('./db')
const bookRouter = require('./routes/book-router')
const userRouter = require('./routes/user-router')
const app = express()
const PORT = process.env.PORT || 8174
app.use(bodyParser.urlencoded({ extended: true }))
app.use(cors())
app.use(bodyParser.json())
app.use(express.json())
db.on('error', console.error.bind(console, 'MongoDB connection error:'))
app.get('/', (req, res) => {
res.send('Hello People!')
})
//set up routes
app.use('/api', bookRouter) // the issue is here
app.use('/user', userRouter)
//commenting one of these lines makes the app work
app.listen(PORT, () => console.log(`Server running on port ${PORT}`))
所以我的應用程序不工作的原因是應用程序的錯誤。如果我將其中一個注釋掉,服務器運行正常,但如果我將它們都留在文件中未注釋掉,那么它們的應用程序將因此錯誤而崩潰
events.js:174
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::8174
at Server.setupListenHandle [as _listen2] (net.js:1280:14)
at listenInCluster (net.js:1328:12)
at Server.listen (net.js:1415:7)
at Function.listen (/home/devinshawntripp/unt-library-system/server/node_modules/express/lib/application.js:618:24)
at Object.<anonymous> (/home/devinshawntripp/unt-library-system/server/index.js:30:5)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
Emitted 'error' event at:
at emitErrorNT (net.js:1307:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
[nodemon] app crashed - waiting for file changes before starting...
任何幫助都會很棒,謝謝!
未導入 userRouter。
你可以試試下面這樣的,
app.use('/api', (req, res, next) => {
userRouter(req, res, next);
bookRouter(req, res, next);
})
錯誤不是因為2個路由器引起的,而是因為端口已經在使用中。
Error: listen EADDRINUSE: address already in use:::8174
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.