Tag: expression

从别的地方打快车路线不好吗?

我有一条路可以做很多不同的事情。 例如: 路线文件: exports.index = function (req, res) { if (x) exports.login(req,res); else exports.dostuff(req,res); }; exports.login = function(req, res) { res.render('login'); }; exports.dostuff = function(req, res) { res.render('otherfile'); }; 这是不好的做法? 有没有更好的方法来处理这种情况? 谢谢。

Express.js:如何在req.param中创buildapp.get('/ i'..)?

我使用nodejs 0.8.21和3.1.0 我需要从像http://mysite.com/39i这样的http://mysite.com/39i读取userId 。 这意味着userId=39 。 怎么做? 谢谢。 样品: app.get('/:userId_i', function(req, res) { }); app.param('userId', function(req, res, next, id){ });

gulp main-bower-files正则expression式filter不工作

为什么第二个数组bowerFiles没有被过滤到JavaScript文件。 var gulp = require('gulp'); var mainBowerFiles = require('main-bower-files'); gulp.task('default', function () { var unfiltered = mainBowerFiles(); console.log('unfiltered files:', unfiltered); // 11 FILES //var jsRegEx = /js$/i; // tried this way too… var jsRegEx = new RegExp('js$', 'i'); var bowerFiles = mainBowerFiles(jsRegEx); console.log('bower files:', bowerFiles); // 11 FILES }); 我试图模仿这里的 bower-main-files在做什么,而且工作。

帕格(以前的玉)variables不能正常工作(插值)锚内部Href

我正在玩Node和Express,我正在使用Pug(以前的Jade)模板引擎来呈现我的html。 一切工作正常,直到我开始尝试将variables注入我的锚链接的href 。 奇怪的是,如果我改变我的快速应用程序view engine jade然后事情开始按预期工作。 根据我读过的其他文章,这个问题似乎是一个插值问题,但我似乎无法find一个资源或文档,显示如何正确解决这个问题。 防爆。 我从一个rooms json数组拉动数据,然后使用for循环遍历每个数组元素并输出每个房间的数据。 使用jade以下的作品。 table.table.table-striped thead tr th Name th Id tbody each room in rooms tr td(style="width: 50px;") a(href!="/admin/rooms/delete/#{room.id}") Delete td #{allTitleCase(room.name)} td #{room.id} 使用pug上述不能正常工作。 特别是a(href='/admin/rooms/delete/#{room.id}') Delete链接无法正常工作。 而不是注入房间id到链接href,它实际上输出#{room.id}作为href链接的结束部分。 任何想法如何解决这个pug ? 请注意,我已经尝试了所有以下使用pug但这些选项都没有工作。 a(href="/admin/rooms/delete/#{room.id}") Delete a(href!="/admin/rooms/delete/#{room.id}") Delete

使用search参数快速路由GET

我有两条获取商店的GET路线,但是,一条路线是为了获得所有商店,另一条路线是为了获得附近的商店。 1)获取所有商店的url请求如下: http://mydomain/stores 2)获取所有附近商店的url: http://mydomain/stores?lat={lat}&lng={lng}&radius={radius} 问题是: 我怎样才能将这些url正确映射到Express中,从而将每个路由redirect到相应的方法? app.get('/stores', store.getAll); app.get('/stores', store.getNear);

Express JS反向URL路由(Django风格)

我正在使用Express JS,我想要一个类似于Django的reversefunction的function。 所以,如果我有一个路线,例如 app.get('/users/:id/:name', function(req, res) { /* some code */ } ) 我想用一个函数为例 reverse('/users/:id/:name', 15, 'John'); 甚至更好 reverse('/users/:id/:name', { id : 15, name : 'John' }); 这将给我的url/users/15/John 。 这样的function是否存在? 如果没有,那么你有什么想法如何写这样的function(考虑Express的路由algorithm)?

清除mongodb,expressjs,nodejs中的会话

我的configuration: app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({ secret: 'MY SECRET', store: new MongoStore({ db: 'MY SESSION DB', host: 'localhost', port:88888 }) })); app.use(everyauth.middleware()); app.use(express.methodOverride()); app.use(app.router); }); app.configure('dev', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); appPort = config.port; //Setting PORT to 8888 in dev mode. app.use('/public', express.static(__dirname + '/public')); }); app.configure('production', […]

在node.js中共享对象并避免全局性

在我的路由器/控制器中,在下面的片段( dbvariables)中共享数据库连接的最合适的方式是什么,而不将dbvariables转换为全局variables? var mongo = require('mongoskin'), db = mongo.db(config.db.adress); app.use(function(req, res, next) { db.open(function(err, data) { (err) ? res.send('Internal server error', 500) : next(); }); }); // Setting up controllers here app.post('/users', require('./controllers/users').create); 来自PHP的背景,我来思考dependency injection ,但我不知道如果这是适当的节点。

Express +angular度路由导致无限循环+崩溃

我正在使用Express以及Angular工作Node应用程序。 我正在使用Angular进行路由,并且让我的路由设置如下所示: app.config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/', { templateUrl: '/partials/main' //controller: 'IndexController' }).when('/discover', { templateUrl: '/partials/discover' }).when('/user/home', { //HERES THE PROBLEM CHILD!!!!! templateUrl: '/partials/user/home' }).otherwise({ redirectTo: '/' }); }]).config(['$locationProvider', function ($locationProvider) { $locationProvider.html5Mode(true); }]); 现在, 每当我尝试调用/user/home – 页面进入一个无限循环,并不断重新加载控制器。 我可以在节点控制台看到页面是从partials/user/home调用的,它肯定包含一个Jade文件。 我检查了其他post,其中大部分都是在部分path开始时用屁股解决的,这在这里没有帮助。 如果我把home.jade转换到没有子目录的/partials目录下,页面加载的很好。 有任何想法吗? 更新:似乎无限循环发生任何时候我尝试加载部分的任何子目录中的部分。 每个请求: 节点 – App.js: app.get('/', routes.index); app.get('/partials/:name', routes.partials); app.get('*', routes.index); 和routes / […]

同时使用前瞻和后面的正则expression式

我有一个问题,使用下面的正则expression式。 它在regexr和rubular中工作正常,但在node.js上运行时会出现错误。 我是相当新的使用正则expression式,我不知道我做错了什么。 如果我剔除(?<= )那么它将起作用,所以我认为这是问题所在。 我试图匹配“是”与前导和尾随空间使用/(?<= )is(?= )|==/g testing词的例子: http://regexr.com?33781 节点错误输出 temp = temp.replace(/(?<= )is(?= )|==/g, '==='); ^ SyntaxError: Invalid regular expression: /(?<= )is(?= )|==/: Invalid group at new RegExp (unknown source)