【发布时间】:2016-10-03 14:51:03
【问题描述】:
我正在通过“Getting MEAN with...”一书学习 MEAN 堆栈,问题是书中的 Express 版本比我使用的要旧。
第一步是告诉我们的应用程序我们正在添加更多需要注意的路由, 以及何时应该使用它们。我们已经在 app.js 中有一行要求服务器 应用程序路由,我们可以简单地复制并设置 API 路由的路径 如下:
var routes = require('./app_server/routes/index');
var routesApi = require('./app_api/routes/index');
接下来我们需要告诉应用程序何时使用路由。我们目前在 app.js 中有以下行告诉应用程序检查服务器应用程序路由 所有传入的请求:
app.use('/', routes);
注意'/' 作为第一个参数。这使我们能够为 URL 指定一个子集 路线将适用。例如,我们将定义我们所有的 API 路由开始 与 /api/ 。通过添加以下代码 sn-p 中显示的行,我们可以告诉应用程序仅在路由以 /api 开头时使用 API 路由:
app.use('/', routes);
app.use('/api', routesApi);
还有我的 app.js 文件的列表:
var express = require('express')
, others = require('./app_server/routes/others')
, locations = require('./app_server/routes/locations')
, routesApi = require('/app_api/routes/index')
, ;
require('./app_server/models/db')
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/app_server/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
// LOCATION PAGES
app.get('/', locations.homeList);
app.get('/location', locations.locInfo);
app.get('/location/review/new', locations.addReview);
// OTHER PAGES
app.get('/about', others.about);
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
谁能解释我如何在我的 Express 版本中做同样的事情?
【问题讨论】:
标签: node.js express mean-stack