Tag: 路由

在MEAN应用程序中处理路由的Express.js或angular?

我对Nodejs / express / angular的所有东西都是全新的,而且我遇到了困扰我的一个问题。 当你有一个MEAN栈时,似乎路由可以被Express.js和Angular处理。 Angular : 例如,如果我在Angular中定义一条路线,我可以这样做: var app = angular.module("app", []).config(function($routeProvider) { $routeProvider.when('/login', { templateUrl: '/templates/login.html', controller: 'LoginController' }); $routeProvider.when('/front', { templateUrl: '/templates/front.html', controller: 'FrontController' }); $routeProvider.otherwise({redirectTo: '/front'}) }); 但是用express.js我做 : app.get('/',function(req,res){ res.sendfile('templates/angular.html'); }); 所以我的问题是 : 什么时候使用angular路由,什么时候使用快速路由? (我可能会错过这里很明显的东西,但是我希望你能指出来)

正确的方法来组织myapp / routes / *

使用最新的稳定的node.js和npmexpression,我创build了我的第一个快速项目。 默认生成的应用程序定义routes / index.js,其中包含呈现默认索引视图的单个路由。 我马上假设我可以添加其他.js文件到路线/文件夹,他们将被包括在内。 这没有泛滥。 只包含routes / index.js。 将其他路由添加到routes / index.js工作正常。 按照快递项目生成器提供的结构,定义和组织快递路线的正确方法是什么? 答案,解释了DailyJS的文章: 鉴于以下路线: app.get('/', function() {}); app.get('/users', function() {}); app.get('/users/:id', function() {}); …创build以下文件: routes/ ├── index.js ├── main.js └── users.js 然后,在routes / index.js里面: require('./main'); require('./users'); 对于每个新的相关路由组,在routes /中创build一个新文件,并从routes / index.js中require()。 将main.js用于不适合其他文件的路由。

除了特定的path,在Express中使用特定的中间件

我在node.js中使用了一些中间件function的Express框架: var app = express.createServer(options); app.use(User.checkUser); 我可以使用带有附加参数的.use函数来仅在特定path上使用此中间件: app.use('/userdata', User.checkUser); 是否有可能使用pathvariables,以便中间件用于除特定path之外的所有path,即根path? 我在想这样的事情: app.use('!/', User.checkUser); 所以User.checkUser总是被调用,除了根path。

使用Hapi时如何将路线存储在单独的文件中?

所有Hapi示例(以及Express中的类似示例)都显示了path在起始文件中的定义: var Hapi = require('hapi'); var server = new Hapi.Server(); server.connection({ port: 8000 }); server.route({ method: 'GET', path: '/', handler: function (request, reply) { reply('Hello, world!'); } }); server.route({ method: 'GET', path: '/{name}', handler: function (request, reply) { reply('Hello, ' + encodeURIComponent(request.params.name) + '!'); } }); server.start(function () { console.log('Server running at:', server.info.uri); }); 然而,在用大量不同的路线实施生产应用程序时,不难想象这个文件有多大。 […]