Tag: 表示

测量Node.js通过net.server生成的总入站/出站stream量

我得到了我工作的漂亮的应用程序,现在计算一些场景,我想知道应用程序本身每个会话产生多less入站/出站stream量。 我不想使用浏览器,但从服务器端收集信息。 nodejs net.server没有任何符合描述的方法,我发现只有net.socket方法: socket.bytesRead接收到的字节数量。 socket.bytesWritten发送的字节数量。 它们是否适用于通过net.server生成的stream量? 任何现有的node_modules收集这种统计信息? 提前致谢

丢失了socket.io.js

当开始app.js我得到 $ node app.js info:socket.io启动 但是,运行index.html它说,它缺less GET http://localhost:3000/socket.io/socket.io.js 404 (Not Found) localhost:5 Uncaught ReferenceError: io is not defined 我用npm install socket.io express app.js var express = require('express') , http = require('http'); var io = require('socket.io'); var app = express() , server = require('http').createServer(app) , io = io.listen(server); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.use(express.bodyParser()); }); io.sockets.on('connection', […]

如何在Locomotivejs中设置coffescript?

我应该怎么做在Locomotivejs中设置coffeescript。 这似乎很容易,但我无法弄清楚。 我在“all.js”中设置了选项,没有运气。 我想我差不多还是很远才能把事情做好。 🙁 this.set("options",{coffee:true}); 任何帮助表示赞赏。

Express.js的外部configuration

我使用Express.js构build了一个小型Node应用程序,为了尽可能保持我的server.js文件干净,我想在外部文件中构build我的configuration。 以下是服务器的外观: // server.js var express = require( 'express' ); var app = express(); app.enable( 'trust proxy' ); // Set application config params require( './config.js' )( app, express ); // Load routes and start listening… require( './routes' )( app ); app.listen( app.get( 'port' ) ); 我的config.js文件设置了一些默认值,然后在NODE_ENV特定的configuration函数中更新或覆盖configuration。 一切都会很好,除了那个讨厌的时机。 我的路线需要访问一些configuration值。 有没有办法确保我的路线加载和我的服务器启动只有configuration完全加载后才开始侦听? 有没有更好的办法? 我得到了事件循环,但我是新的节点/快递品牌,所以我打开几乎任何东西。 我是这样做的,因为我一直在根据经验与我在各种文章或文档资料中阅读的内容进行协调。 我不认为我在这里太离谱,但也许这是过于乐观。 UPDATE 我的config.js […]

nodeJS路由所有请求

我正在编写一个nodejs应用程序。 我想将所有请求路由到一些通用的API。 为此,我正在使用 app.get('*', function(req, res) { /* Do Something */ }); 在“做某事”部分我想检索req.route.regexp,然后根据这个我会做处理。 我期待req.route.regexp应该是我们来到这里的确切的URL的正则expression式。 但是正如我在'*'中处理这个,所以正则expression式并不等同于req.route.params。 那么有没有什么办法可以根据所有路由(*)的app.get中的req.route.params获取正则expression式。 例如:我有url:“/:val”,因为我期待正则expression式“/ ^ /(?:([^ /] +?))/?$ /我”,但我得到正则expression式的“* “,那我怎么能做到呢?

在express框架中使用angular.js $资源

我是Angular JS和node.js / express框架的新手。 我正在使用angular度和expression框架的小应用程序。 我有明确的应用程序与几个端点运行。 一个用于POST操作,另一个用于GET操作。 我正在使用node-mysql模块来存储和从MySQL数据库中获取。 此应用程序正在我的笔记本上运行。 angular.js客户端: 调节器 function ItemController($scope, storageService) { $scope.savedItems = storageService.savedItems(); alert($scope.savedItems); } 服务 myApp.service('storageService', function($resource) { var Item = $resource('http://localhost\\:3000/item/:id', { id:'@id', }, { query: { method: 'GET', isArray: true } ); this.savedItems = function() { Item.query(function(data){ //alert(data); return data; }); } 快递服务器与MySQL数据库: … app.get('/item', item.list); … […]

为什么Express在URLpath深度超过两级时会在错误的位置查找静态文件?

Express版本是最新的。 这是另一个app.js文件使用的app.js文件: "use strict"; var express = require('express'), engine = require('ejs-locals'); var path = require('path'), map = require('../../app').map; var register = require('./routes/register').register; var profile = require('./routes/profile').profile; var login = require('./routes/login').login; var app = module.exports = express(); app.configure(function() { app.engine('ejs', engine); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use('/assets', express.static(path.join(__dirname, 'assets'))); }); app.configure('development', function() { app.use(express.errorHandler()); […]

layout.ejs未呈现 – Node.js,Express

我想用EJS模板执行一个简单的node.js例子。 节点,或者更确切地说,无论我做什么,都无法使用layout.ejs呈现索引页,如下面的代码所示。 这是app.js var express = require('express') , routes = require('./routes') , http = require('http'); var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 8001); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.set('view options', {layout: 'views/layout.ejs'}); app.use(express.favicon()); app.use(express.logger('dev')); 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()); }); app.get('/', routes.index); http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening […]

使用相同的玉石视图进行编辑和创build

希望这不是太愚蠢的问题,因为我试图让我的头靠近节点。 我一直在看expression式框架,并试图让我的头在创build/编辑视图的简单问题。 如果我有一个玉石观点如下: input(name='bar', id='bar', value=#{foo.bar}) 该视图期望在我传回的模型上的属性foo.bar,罚款编辑屏幕。 但是,如果这是一个创build屏幕,我真的不想要传回一个空的模型。 这应该怎么处理? 这只是一个情况,我必须传回一个空模型? 如果是这样,任何指向这种模式的指针将是伟大的。 谢谢。 (我知道我错过了一些基本的东西)

node.js中间件和js封装

我是新来的JavaScript,并跳入node.js。 我已经阅读了很多理论,并且从实际的angular度出发(我正在为移动应用程序编写一个API),但是我有一个基本问题,这导致我转向了中间件。 我已经成功实现了一个中间件function,但是我想知道是否使用了中间件这个概念,并且还解决了把中间件带给我的原始问题。 我的问题是双重的,如下所示: 1)从我能收集到的信息来看,使用中间件的想法是在实际处理请求之前重复一个过程。 我用它来进行标记validation,如下所示:只有我的一个url没有收到一个标记参数,所以 app.js app.get('/settings', auth.validateToken, auth.settings); auth.js function validateToken(req, res, next){ //code }; 在validateToken中,我的代码检查标记,然后在一切正常的情况下调用next(),或者将res修改为json以返回特定的错误代码。 我的问题是:a)这是中间件的正确使用吗? b)是否有将值传递给下一个函数的正确方法? 而不是只有在一切正常的情况下才调用下一个函数,那么接下来哪种调用方法是正确的,并且从下一个函数(无论哪个函数)中知道中间件是否成功? 如果有的话,这将是一个适当的使用中间件? 这个精确的点使我想起了我原来的问题,这个问题的第二部分是封装函数: 这部分是固定的,看到我的第二个评论 。 2)我发现中间件试图简单地封装validateToken,并且能够从get处理程序指向的函数内部调用它,例如auth.settings。 我习惯于通用的顺序编程,而不是在JavaScript中,并没有为我的生活能够理解如何做到这一点,考虑到node.js基于事件的性质。 我现在要做的是编写一个简单的validation用户和密码的函数。 我把它完全写在一个特定的处理程序中,但正要复制粘贴到另一个,所以我停了下来。 我想从头开始做正确的事情,并理解node.js. 我一直遇到的一个具体问题是,当用户和密码不匹配时,必须返回的错误代码根据父函数而不同,所以我需要这个函数来告诉callback函数“嘿,密码和用户不匹配”,所以从父母function我可以回应正确的消息。 我想我真正想要的是写一个asynchronous函数,我可以从另一个内部调用。 我希望我已经清楚了,我一直在试图自己解决这个问题,但是我不能完全的理解我的实际问题,我猜这是因为我最近对节点的介绍。 JS 和 JS。 提前致谢! 珍妮弗。