相关疑难解决方法(0)

在Node.js中组织路由

我开始看看Node.js. 我也在用Express.我有一个问题 - 如何组织Web应用程序路由?所有示例都将所有这些app.get/post/put()处理程序放在app.js中,它运行得很好.这很好,但如果我有一个简单的硬件博客?有可能做这样的事情:

var app = express.createServer();
app.get( '/module-a/*', require('./module-a').urls );
app.get( '/module-b/*', require('./module-b').urls );
Run Code Online (Sandbox Code Playgroud)

和

// file: module-a.js
urls.get('/:id', function(req, res){...}); // <- assuming this is handler for /module-a/1
Run Code Online (Sandbox Code Playgroud)

换句话说 - 我喜欢Django的URLConf,但是在Node.js中.

url-routing node.js express

60
推荐指数
3
解决办法
7万
查看次数

在Express-js中使用路由

所以我开始使用Node.js. 我在Nodejs.org上看过 Ryan Dahl的视频,并听说他为网站推荐了Express-js.

我下载了最新版本的Express,并开始编写代码.我在/上有一个完全成熟的静态视图,但是一旦我尝试发送参数,我就会遇到这样的错误:

Cannot GET /wiki
Run Code Online (Sandbox Code Playgroud)

我尝试按照expressjs.com上的指南进行操作,但是在最新版本中使用路由的方式已经改变,这使得指南无法使用.

指南:

app.get('/users/:id?', function(req, res, next){
    var id = req.params.id;
    if (id) {
        // do something
    } else {
        next();
    }
});
Run Code Online (Sandbox Code Playgroud)

由Express生成:

app.get('/', routes.index);
Run Code Online (Sandbox Code Playgroud)

当我尝试添加另一条路线时,我的问题就出现了.

app.get('/wiki', routes.wiki_show);
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但我一直得到Cannot GET /wiki(404)错误.

routes/index.js看起来像这样:

exports.index = function(req, res) {
    res.render('index', { title: 'Test', articles: articles, current_article: current_article, sections: sections })
};
Run Code Online (Sandbox Code Playgroud)

我在那里做的唯一事情是添加一些参数(同一文件中的数组),这我工作.但是,当我复制内容并更改exports.index为exports.wiki或exports.wiki_show仍然得到Cannot GET /wiki错误.

任何人都可以向我解释我在这里缺少什么吗?- 谢谢.

url-routing node.js express

45
推荐指数
3
解决办法
10万
查看次数

标签 统计

express ×2

node.js ×2

url-routing ×2