javascript - 具有多个文件的路由nodejs

标签 javascript node.js express

我想在多个文件中路由

var routes=require('./routes');

在routes/index.js

exports.inicio=require('./inicio')
exports.home=require('./home')

在 inicio.js

exports.index=function(req,res){res.render('index/index',{title: 'Bienvenido a Inmoweb'});}

在 home.js

exports.nosotros=function(req, res){res.render('index/nosotros',{title:'Nosotros'});}

当我console.log(routes)时

{
inicio: {index:[function]}, 
home: {nosotros:[function]}
}

所以我在应用程序中调用

app.get('/',routes.inicio.index);

但我想这样打电话

app.get('/',routes.index);
app.get('/nosotros',routes.nosotros);

console.log 应该是???

{
  index:[function], 
  nosotros:[function]
}

如何做到这一点???全部tnx

最佳答案

您的routes/index.js可以执行以下操作:

exports.index = require('./inicio').index
exports.nosotros = require('./home').nosotros

您可以通过直接分配给 inico.js 中的 module.exports 来使其更短:

module.exports = function(req,res){res.render('index/index',{title: 'Bienvenido a Inmoweb'});}

现在您可以在routes/index.js中执行此操作:

exports.index = require('./inicio') //See the difference? 
// require('./inicio') now directly exports your route
exports.nosotros = require('./home').nosotros

明白了吗? :)

关于javascript - 具有多个文件的路由nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11926357/

相关文章:

node.js - Sailsjs中间件解析res.body

node.js - Flash 消息未在 Node.js 中显示

javascript - Node 子进程生成 "TypeError: Bad argument TypeError"?

node.js - 无法理解express.js

javascript - 从下拉列表中获取值并将其传递给另一个函数(JS)

javascript - 如何禁用 javascript 中的按钮?

javascript - 区域范围图例图标与标记不匹配

node.js - 语法错误 : UNexpected token n

node.js - CouchDB 响应失败的方式有哪些?

javascript - 如何为每个网站禁用 iframe 右键单击