Tag: expression

为什么Angular 2不加载默认的应用程序根组件?

我试图通过angularCLI生成Angular应用程序,但它似乎像默认的app-root组件不加载。 需要说的是,我正在使用angular应用程序和快递服务器之间的连接代理,并且我正在同时运行两个脚本: node bin/www express / node.js启动和ng serve –proxy-config proxy.config.json用于启动Angular并创build代理连接的ng serve –proxy-config proxy.config.json ,它看起来像这样(package.json的一部分): "scripts": { "start": "concurrently –kill-others \"node bin/www\" \"ng serve –proxy-config proxy.config.json\"" } 索引页面加载正常,但似乎app-root组件(默认组件,它是从angularCLI ng new创build的)不加载: 这里是我的node.js / express use s和一个路由: var express = require('express'); var router = express.Router(); var app = express(); var path = require('path'); app.use(express.static('./src/client/')); app.use(express.static('./')); app.use(express.static('./tmp')); app.use('/*', express.static(path.resolve('src/client/index.html'))); […]

Javascript正则expression式:匹配文本不是HTML标记的一部分

我真的希望有一个在node.js中可执行的正则expression式(所以没有jQuery的DOM处理等,因为标签可以有不同的嵌套),匹配所有不是HTML标签的文本或其中的一部分到单独组。 例如,我希望从该string匹配“5”,“ELT。”,“SPR”,“”,“plo”,“Unterricht”,“”,“nbsp”和“plo” <tr class='list even'> <td class="list" align="center" style="background-color: #FFFFFF" > <span style="color: #010101">5</span> </td> <td class="list" align="center" style="background-color: #FFFFFF" > <b><span style="color: #010101">ELT.</span></b> </td> <td class="list" align="center" style="background-color: #FFFFFF" > <b><span style="color: #010101">SPR</span></b> </td> <td class="list" style="background-color: #FFFFFF" >&nbsp;</td> <td class="list" align="center" style="background-color: #FFFFFF" > <strike><span style="color: #010101">pio</span></strike> </td> <td class="list" align="center" style="background-color: #FFFFFF" […]

从socket.iocallback中修改会话数据

我目前使用这个堆栈expres,socket.io,sessionstore。 我跟着这里的文章http://www.danielbaulig.de/socket-ioexpress/ 。 那么问题是,我不能修改socket.iocallback中的会话值。 从快捷方式访问效果很好,每次刷新后项目都会增加。 app.get('/mysession', function(req, res) { req.session.item++; console.log(req.session); res.render('session.jade', { title: 'Sample title' }); }); 在socket.io方面使用它不,这里是问题,也许我设置了错误的对象。 var io = io.listen(app); io.sockets.on('connection', function(socket) { var handshake = socket.handshake; onlineCount++; console.log('Well done id %s', handshake.sessionID); handshake.session.item++; console.log(handshake.session); }); 这是桥码。 io.set('authorization', function(data, accept) { if (data.headers.cookie) { data.cookie = parseCookie(data.headers.cookie); data.sessionID = data.cookie['express.sid']; sessionStore.get(data.sessionID, function(err, […]

Expressjs不会销毁会话

我有一个骨干视图,它发送一个Ajax调用服务器来删除一个会话。 在服务器上触发以下事件: app.delete('/session', function(req, res) { if (req.session) { req.session.destroy(function() { res.clearCookie('connect.sid', { path: '/' }); res.send('removed session', 200); }); } else { res.send('no session assigned', 500); } }); 奇怪的是,我可以多次按下注销button,而不会得到一个HTTP 500的错误代码。 铬也显示我仍然存在一个cookie。 出了什么问题? 问候 编辑 : 我发现这不是一个会话问题,而是一个cookie。 我添加res.clearCookie到路线。 不幸的是,行为(cookie,会话保持活跃)没有改变 编辑2 :我现在res.clearCookie一些参数=> res.clearCookie('connect.sid',{path:'/'}); 现在至lesscookie在浏览器中消失了。 但会议似乎仍然可用。 或者至less我可以多次呼叫注销路线,即使req.session也应该是错误的 编辑3:我现在从redis中删除所有会话,并重新启动一切(redis,节点,浏览器)。 比我再次login并注销。 这个工作到目前为止,但是当我用F5来翻页时,我得到一个新的会话。 为什么?

Node.JS的插件系统

我目前正在使用Express来处理Node.JS中的一个大型应用程序。 我希望能够做到即插即用,所以我开始编写我自己的小插件系统,其文件结构如下所示: root/ | plugins.json # configures all plugins | plugins # contains all plugins | | MyPlugin # contains MyPlugin | | | MyPlugin.js # defines Application hooks for MyPlugin | | | … MyPlugin/当然也包含路由,控制器,视图,特定的资源等。 app将调用MyPlugin实例的标准挂钩是: moduleInit(app) # before starting the server or module has been loaded (if server is already running at module […]

Expressjs REST API浏览器

我一直在玩loopback,它有非常好的API资源pipe理器(不知何故提醒我Java的JMX),显然它是集成在框架本身。 有没有一个简单的方法来重新创build与任何npm包相同的经验? 如果不是的话,除了谷歌文档外,如何以方便的方式将您的API暴露给客户端的开发人员?

如何使用pm2观看和重新加载ExpressJS应用程序

我正在开发一个ExpressJS应用程序。 我使用pm2来加载它: myapp$ pm2 start bin/www 这工作正常,除了添加–watch标志似乎不工作; 每当我更改JS源代码时,我需要明确地重新启动它以使我的更改生效: myapp$ pm2 restart www 我究竟做错了什么? 我已经尝试了与非ExpressJS应用程序的–watch标志,它按预期工作。

RegExp匹配的内容

我一直在试图从Python转换为node.js. 这是一个简单的程序,使用正则expression式来检查IP地址是公共还是私有: import re def is_private_ip(ip): """ Returns `True` if the `ip` parameter is a private network address. """ c = re.compile('(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)') if c.match(ip): return True return False print is_private_ip('192.168.0.1') # True print is_private_ip('8.8.8.8') # False print is_private_ip('109.231.231.221') # False 我用Javascript来实现它,就像这样: var localIp = new RegExp(/(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)/); console.log('192.168.0.1'.match(localIp)); console.log('8.8.8.8'.match(localIp)); console.log('109.231.231.221'.match(localIp)); 这给了我以下输出: [ '192.168.', undefined, undefined, undefined, […]

在AngularJS中用无限滚动过滤页面

我在我的AngularJS + Node.js应用程序上实现了无限的滚动function。 它基于这个JSfiddle,并以相同的方式工作: http : //jsfiddle.net/vojtajina/U7Bz9/ HTML: <div id="fixed" when-scrolled="loadMore()"> <ul> <li ng-repeat="i in items">{{i.id}}</li> </ul> </div>​ 使用Javascript: function Main($scope) { $scope.items = []; var counter = 0; $scope.loadMore = function() { for (var i = 0; i < 5; i++) { $scope.items.push({id: counter}); counter += 10; } }; $scope.loadMore(); } angular.module('scroll', []).directive('whenScrolled', function() […]

使用node-orm(在osx 10.6.8下)将node.js应用程序连接到PostgreSQL的问题

我想在osx(10.6.8)下运行一个小的nodejs应用程序,并连接到我的localhost Postgres数据库。 我正在使用node-orm(https://github.com/dresende/node-orm2)以及Postgres绑定(https://github.com/brianc/node-postgres)。 出于某种原因,当我使用orm.connect并将它作为string连接url时,它将失败: Error: getaddrinfo ENOENT at errnoException (dns.js:31:11) at Object.onanswer [as oncomplete] (dns.js:123:16) 如果我用127.0.0.1更改本地主机。 它也死于超时exception。 使用vanilla postgress绑定连接到数据库,使用相同的连接string是成功的,我甚至设法得到一些testing查询运行,得到的结果等。 我尝试使用vanilla postgress API手动设置数据库客户端,并使用orm.use将其传递给orm。 这pipe理成功连接到数据库,但每次我尝试执行一个查询,没有任何反应。 它不会产生一个错误,但sinply卡住了QueryQueue,并没有调用成功的callback。 我检查了数据库日志,似乎也没有检测到查询。 我该怎么办? 我有一点困惑