Tag: url routing

expression得到根事件不起作用

当我请求本地主机:8080 /聊天?K = 1和D = 1它写入“聊天页”控制台,并正常工作。 但是,当我试图得到本地主机:8080根事件不写“索引页”,它会自动获取index.html,即使我设置索引为false。 这是我的代码; var path = require('path'); var express = require('express'); var encData; var appointmentKey; var urlGetDataAreValid = false; var app = express(); app.use(express.static(path.join(__dirname, 'static'), { index: false })); app.get('/', function(req, res, next) { console.log("INDEX PAGE"); res.sendFile('static/error.html'); }); app.get('/chat', function(req, res, next) { console.log("CHAT PAGE"); encData = req.param('d'); appointmentKey = […]

node.js中的url的正则expression式表示路由

我正在构build使用正则expression式进行路由的node.js服务器。 必须使用正则expression式在node.js中捕获的URL www.domain.com/people-images-taken-on-December-05-2011/ url The people-images-taken-on-被固定。 我只想捕捉月份,date和年份。 我将像下面一样捕获上面的URL app.get('/people-images-taken-on-{only alphabets}-{2 digits}-{4 digits} ', 我发现正则expression式每个模式分开 allows only alphabets – [a-zA-Z]+$ allows a 4 digits value – (\\d){4} allows a 2 digits value – (\\d){2} 我试图把所有的东西结合起来,但是我失败了很多次。 任何一个可以为url patern提供正确的正则expression式吗? 也有人可以告诉我这种基于正则expression式的path处理是处理date的好方法吗?

决定路线与参数的关键因素是什么?

我看不出在两种路线之间作出决定的基础。 我的问题是什么因素是决定之间的关键: 更多的路线 – 更less的参数 更less的路由 – 更多的参数 – 处理程序的逻辑 下面的两个样本是我的实际案例,但我认为这是一个普遍的问题。 我的基线是2路每个有2个参数: URI's: /poweronoff?id=4&val=1 /powerset?id=7&val=75 // app.js app.get('/poweronoff', mymodule.poweronoff); app.get('/powerset', mymodule.powerset); // mymodule exports.poweronoff= function(req, res){ setonoff(req.query.id, req.query.val, req, res); } exports.powerset = function(req, res){ setvalue(req.query.id, req.query.val, req, res); } 替代因子是具有3个参数的1条路线。 URI's: /power?action=onoff&id=4&val=1 /power?action=set&id=7&val=75 // app.js app.get('/power', mymodule.power); // mymodule exports.power = function(req, res){ if […]

Sails.js应用程序的所有路由的全局前缀

有谁知道,热为sails.js应用程序的全球路线前缀? 我已经在config / blueprints.js中更改了前缀,但是sails仍然使用不带前缀的路由来交互socket.io。 例如: 当我打开mysite.loc / prefix /,sails发送请求到mysite.loc / socket.io / 1 /?__ sails_io_sdk_version = 0.10.0&__ sails_io_sdk_platform = browser&__ sails_io_sdk_language = javascript&t = 1421833178234,如你所见 – 没有任何前缀。 有没有办法(不改变sails.js模块代码)来解决这个问题?

expression通配符规则

我正在使用Node和Express托pipe单页应用程序。 我使用客户端的静态中间件。 我正在使用pathurl来浏览应用,例如domain.com/profile/134。 我正在使用history.pushState在客户端内部更改页面,这工作正常。 我所缺less的是服务器上的通配符规则,当用户直接访问我的页面到非根的path时,捕获所有可能的path。 如果我试图直接访问domain.com/profile/134,我得到这个:“不能GET / profile / 134”。 我试图在server.js的末尾插入一个通配符,但是每次访问页面根目录的时候都会碰到它。 这是我的相关代码: var express = require('express'); var app = express(); app.use(express.static(__dirname + '/../client')); app.get('/*', function(req, res) { console.log('wildcard'); }); 这是正确的GET通配符规则来实现我所需要的,我怎样才能服务这个处理程序内的静态客户端? 之后只要保存了初始path,我的客户端就会find正确的页面。 我基本上希望这个通配符规则的行为与静态规则相同,但保留初始path。

高速路线中的dynamicpath

我不知道如何dynamic地使用path。 例如,我正在使用lodash在正则expression式方法中find不同文件中的path。 routes.js const json = require('./routes.json') const _ = require('lodash') routes.use(function(req, res, next) { let str = req.path let path = str.split('/')[1] // [Request] => /test/123 console.log(path) // [Result] => test let test = _.find(json.routes, function(item) { return item.path.match(new RegExp('^/' + path + '*')) }) console.log(test) //{"path" : "/test/:id", "target" : "localhost:2018", "message" : […]

Hapi.js子域路由到插件

我正在寻找一种方法将不同的子域路由到不同的插件。 我浏览了API文档 ,没有发现任何有用的信息。

如何查看第一个Angular模板?

我正在尝试构build一个非常基础的Angular应用程序,但是我在查看第一个模板时遇到了麻烦。 我的html看起来像这样: <html ng-app="formApp"> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script> <script src="js/controllers.js"></script> <script src="js/app.js"></script> </head> <body> <div ng-view></div> </body> </html> 和我的app.js是这样的: 'use strict'; var formApp = angular.module('formApp', ['ui.router']); formApp.config(function($stateProvider, $urlRouterProvider){ $stateProvider .state('main', { url: '/main', templateUrl: 'templates/main.html', controller: 'MainCtrl' }); $urlRouterProvider.otherwise('/main') }); 和我的controllers.js是这样的: var formControllers = angular.module('formControllers', []); formControllers.controller('MainCtrl', function($scope){ $scope.lala = 'lalallala'; }); 名称templates/main.html下的templates/main.html如下所示: <h1>Yes […]

如何做hapijs反向路由?

我正在寻找Hapijs的反向路由function。 例如,如果我有route /route/{param1}/{param2}名为route_name ,我想要一个函数: reverseRoute('route_name', {param1: 'value1', param2: 'value2'}); 返回/route/value1/value2 我一直在谷歌search一段时间,但无法find解决办法。 有什么build议么?

如何确定哪个css文件将被发送到客户端

我和Meteor开始了一个简单的项目。 但是现在变得越来越复杂了。 我正在尝试添加项目的pipe理面板。 我想分开网站和面板。 但每个CSS和JS文件都发送到网站和pipe理。 环境:我在meteor.com主持项目。 我的开发机器是Windows 7.我不能使用陨石。 如果您要build议我使用mrt添加路由器,欢迎您。 但目前我不能这样做。 当前目录结构: 客户端(client.js,index.html,css文件,jquery插件等其他js文件) 服务器(server.js) 公开(UI的图像文件) 更新 我有1个索引文件是: <head> <title>Index</title> </head> <body> {{> root}} </body> 根模板里面正在使用一些其他的模板。 我可能会使用2个不同的索引文件。 1个为pipe理面板,1个为pipe理面板。 根模板: <template name="root"> {{#if adminURL}} {{> adminLogin}} {{else}} {{> site}} {{/if}} </template> adminLogin模板: <template name="adminLogin"> {{#if currentUser}} {{> management}} {{else}} admin login page. <div style="float: right"> {{loginButtons align="right"}} </div> […]