我写成app.use(routes) 能够找到./route/index里的路由来进行不同的处理 另外还有: app.use(’/users’, users); users.js: var express = require(‘express’); var router = express.Router();
/* GET users listing. */ router.get(’/’, function(req, res) { res.send(‘respond with a resource’); });
module.exports = router; 按照这种写法,如果我url是/users 是不是会在/users的基础上,把users.js里的路由的路径也添加进来啊?
只需要app.use(routes)就够了,会将user.js里的所有路由添加进来
我试了一下直接在.route/index里加了个app.get(’/users’) 把写在.route/users里的给覆盖掉了。。。
@hwoarangzk 这里是因为在你的app.js中先执行 app.use(’/’, routes) 然后执行 app.use(’/users’, users) 所以先匹配到index中的路由,在./routes/index.js路由函数中加一个next()就能触发./routes/users中的函数了
为什么app.use允许第一个参数是一个代表路径的字符串呢?
app.use(’/’,routes);就是把所有routes目录下的路由使用,还是只用index.js的还是什么?
我之前也纳闷过,后来去官网翻API就明白了,如果不带/,其实就是默认了是在/之下的所有路径执行 自豪地采用 CNodeJS ionic
use的意思是任意的方法,比如get post这些,都会执行。第一个参数一般是路径的,如果直接是回调,就是默认路径是根 自豪地采用 CNodeJS ionic