我有以下文件
lib/pub
lib/pub/index.js
app.js
在 App.js 上
我有:
// app.js
var express = require("express")
, app = express()
, router = express.Router()
;
...
router.use('/pub',require('./pub'));
然后在 index.js 上
// pub/index.js
var express = require('express')
, router = express.Router()
;
console.log("file loaded successfully")
module.exports = function(){
router.get('/',function(req,res){
console.log("got the get request")
})
}
我在执行 localhost/pub
请求时遇到的问题,我从来没有得到 got the get request
,无论我尝试如何更改代码,尝试将 pub
添加到路径中。
router.get('/',...
router.get('/pub',...
router.get('./pub,...
router.get('./',...
router.get('pub',...
etc...
这些或任何其他愚蠢的方式我都没有尝试工作......我永远无法让日志说是我收到了请求......
我做错了什么! (expressjs 变化如此频繁和彻底,任何网络教程都变得多余或其他人以前得到的任何帮助)
最佳答案
(编辑以反射(reflect)评论)
如果您想将路由移动到外部文件,请使用以下模式:
应用程序.js
var express = require('express');
var app = express();
require('./routes')(app);
路由.js
module.exports = function(app) {
app.get('/pub', function(req, res) {
console.log('got the get!');
res.end();
});
};
关于node.js - 带有外部文件的 express 4 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673332/