exports.getProducts1 = getProducts1; exports.getProducts2 = getProducts2;
var sourseList = require(‘./sourse/sourseList’); app.get('/sourseList1’, sourseList.getProducts1 ); //指定路游 app.get('/sourseList2’, sourseList.getProducts2 );
module.exports = router;
var sourseList = require(‘./sourse/sourseList’); app.use('/sourseList’, sourseList);
最近在学习express的时候网络上看到这边的输出有点奇怪,然后就尝试了下用app.get('/sourseList’, sourseList) 输出,结果出现了 404错误。。。所以一直在很奇怪到底 get 和 use有什么区别。难道一个是用来调用接口,一个是用来调用对象?
app.use() => app.use([path,] function [, function…]), Mounts the middleware function(s) at the path. If path is not specified, it defaults to “/”. 翻译一下就是:
- 第一个参数path可省略,默认是’/’。就是路径。如果省略,那么第二个参数会应用到所有的request,不管来的request是get还是post
- 第二个参数是一个函数,这个函数叫middleware function(中间件),所以app.use()正如楼上所说一般式用来加载中间件的 app.get() =>app.get(path, callback [, callback …]), Routes HTTP GET requests to the specified path with the specified callback functions. 这个函数一般出现在路由中,是用来处理对某个路径的get请求的。比如: app.get('/pets’, function(){}), 当Get /pets的请求出现的时候,后面的那个函数会被调用。
所以大致区别就是二者的目的不同,使用场景也不同。