gpt4 book ai didi

javascript - 如何拆分 express router 以分离文件?

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:14 24 4
gpt4 key购买 nike

我正在寻找一种更好的方法来管理我在 Express 路由器中的逻辑。这是一个代码片段:

router.get('/get', function(req, res) {

if(typeof req.query.category !== undefined){

//do something

}

});

...但是将我的逻辑放在这里将使文件增长非常容易。

我想过这个:

if(typeof req.query.category !== undefined){

var gallery = new Gallery(req.query.category)

}

所以我可以处理单独文件中的内容

1) 如果 var Gallery 存在于单独的文件中(即 galleryManager.js),我如何将文件包含在我的路由器中?2) 你使用什么方法?

最佳答案

我通常是这样做的。我绝不是说这是最好的方法。但这是一种适合我的方法,可以让事情更有条理。

app.js(root)

var express = require('express');
var app = express();

app.configure(function() {
.. view engine stuff ..
app.set('views', __dirname + '/views');
app.use(app.router);
app.use("/static", express.static(__dirname + '/static'));
});

require('./controllers/index.js')(app);
require('./controllers/page2.js')(app);

//server
var port = process.env.PORT || 5000;
app.listen(port);
console.log('Listening on port ', port);

index.js( Controller ,或路由器)

module.exports = function(app)
{
app.get('/', function (req, res) {
res.render('index', { });
});
}

文件结构

   -controller
-index.js
-page2.js
-static
-css
-js
-img
-views
-index. (ejs, jade, mustache) // or whatever you prefer
app.js
package.json

演示:

https://github.com/krishollenbeck/express-boilerplate

关于javascript - 如何拆分 express router 以分离文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26723904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com