node.js - express 4.x 如何在不同js文件中處理router請(qǐng)求
問(wèn)題描述
users.js
var express = require(’express’);var router = express.Router();router.get(’/users’, function(req, res, next) { res.send(’Test’)});module.exports = router;
index.js
var express = require(’express’);var router = express.Router();var users = require(’./users’)...
app.js
...var index = require(’./routes/index’);app.use(’/’, index);...
這里我只列出部分代碼,但無(wú)論我是在index.js中引用user.js還是在app.js中引用,處理/users這個(gè)網(wǎng)絡(luò)請(qǐng)求都是404,所以我想問(wèn)一下是不是因?yàn)橐粋€(gè)項(xiàng)目中只能建立一個(gè)路由啊,然后另一個(gè)問(wèn)題就是app.use()這個(gè)函數(shù)的參數(shù)分別代表了什么,謝謝各位大神
問(wèn)題解答
回答1:
在入口文件里面,比如app.js,一般都是在這個(gè)里面注冊(cè)中間件等等,導(dǎo)出app,然后在你需要用到的路由文件里面直接引入這個(gè)app,比如app.get('/hello', function() {})
use函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)一般是匹配一個(gè)路由的,第二個(gè)函數(shù)是注冊(cè)中間件的,如果沒(méi)有第一個(gè)參數(shù),那么第二個(gè)函數(shù)將會(huì)應(yīng)用到每一次請(qǐng)求里面。
回答2:看問(wèn)題的意思,在index.js中引用了users.js,我猜是想有一個(gè)統(tǒng)一的路由管理器,并不想在app.js里面注冊(cè)所有的路由,由于index.js中沒(méi)有完整的代碼,所以順著這個(gè)思路,index.js內(nèi)容是這樣的:var express = require(’express’);var users=require(’./users’);var app=express();app.use(’/user’,users);module.exports=app;然后在同一入口app.js里面注冊(cè)這個(gè)index.js就行了,那樣就不用再去注冊(cè)u(píng)sers這個(gè)路由了
相關(guān)文章:
1. javascript - sublime快鍵鍵問(wèn)題2. javascript - immutable配合react提升性能?3. Apache 已經(jīng)把網(wǎng)站根目錄的改為allow from all了,但是服務(wù)器還是不能訪問(wèn)?4. javascript - 移動(dòng)端上不能實(shí)現(xiàn)拖拽布局嗎?5. 實(shí)現(xiàn)bing搜索工具urlAPI提交6. vue.js - Vue 如何像Angular.js watch 一樣監(jiān)聽(tīng)數(shù)據(jù)變化7. javascript - nodejs關(guān)于進(jìn)程間發(fā)送句柄的一點(diǎn)疑問(wèn)8. phpstudy8.1支持win11系統(tǒng)嗎?9. 如何解決Centos下Docker服務(wù)啟動(dòng)無(wú)響應(yīng),且輸入docker命令無(wú)響應(yīng)?10. css - 寫(xiě)頁(yè)面遇到個(gè)布局問(wèn)題,求大佬們幫解答,在線(xiàn)等,急!~

網(wǎng)公網(wǎng)安備