Tag: node.js

如何在Node中导入全局模块? 我得到“错误:无法find模块<模块>”?

我正在尝试在Mac OSX Lion上设置节点。 这一切似乎工作正常,但我似乎无法从我的全局模块文件夹中导入任何模块。 我得到的错误, Error: Cannot find module <module> 如果我运行这个: node -e require.paths ,我得到的响应是: [ '/usr/local/lib/node_modules', '/Users/Me/.node_modules', '/Users/Me/.node_libraries', '/usr/local/Cellar/node/0.4.12/lib/node' ] 这是正确的,我的模块确实安装在/ usr / local / lib / node_modules中。 当我尝试和运行一个脚本,但是,我得到这个: Error: Cannot find module 'socket.io' at Function._resolveFilename (module.js:326:11) at Function._load (module.js:271:25) at require (module.js:355:19) at Object.<anonymous> (/Users/Me/node/server.js:2:10) at Module._compile (module.js:411:26) at Object..js (module.js:417:10) at Module.load […]

Node.js – 从EventEmitterinheritance

我在相当多的Node.js库中看到这种模式: Master.prototype.__proto__ = EventEmitter.prototype; (来源于此 ) 有人可以给我解释一下,为什么这是一个普遍的模式,什么时候方便?

如何知道用户是否使用passport.jslogin?

我一直在阅读passport.js信息和样本两天,但我不确定之后,我做了所有的身份validation过程。 我怎么知道我是否login,例如,我将有一个导航栏与login或注销button,有一些像下面的代码的variables? if (login) <button>logout</button> else <button>login</button>

未被捕获的错误:模块没有自注册

我试着用nw.js(v0.12.0-alpha2)来使用node-vlc。 当我启动我的应用程序没有nw.js它的作品,但是当我启动与nw.js我得到一个错误: Uncaught Error:Module did not self-register。“,来源:/home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js(84) 我用nw-gyp尝试了一些命令,但是它不能帮助我。 我在Ubuntu 14,64位。

即使没有其他进程阻塞端口,Node.js应用程序也不能在端口80上运行

我在安装了Node.js的Amazon EC2上运行Debian实例。 如果我运行下面的代码: http = require('http'); http.createServer(function (request, response){ response.writeHead(200, {'Content-Type':'text/plain'}); response.end('Hello World\n'); }).listen(80); console.log("Running server at port 80"); 我得到下面的输出告诉我有另一个进程在80端口监听: Running server at port 80 events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EACCES at errnoException (net.js:901:11) at Server._listen2 (net.js:1020:19) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object.<anonymous> (/home/admin/nodetests/nodetest.js:6:4) at Module._compile (module.js:456:26) at […]

如何用Mongoose删除数据库?

我正在准备Node.js和Mongoose中的数据库创build脚本。 我如何检查数据库是否已经存在,如果是的话,使用Mongoose删除(删除)它? 我找不到用mongoose把它放下的办法。

rest与Express.js嵌套路由器

假设我想让REST端点看起来像这样: /user/ /user/user_id /user/user_id/items/ /user/user_id/items/item_id 每个CRUD都是有道理的。 例如,/ user POST创build一个新用户,GET获取所有用户。 / user / user_id GET只提取一个用户。 项目是用户特定的,所以我把它们放在user_id下,这是一个特定的用户。 现在要使Express路由模块化,我做了几个路由器实例。 有一个用户的路由器,并为该项目的路由器。 var userRouter = require('express').Router(); userRouter.route('/') .get(function() {}) .post(function() {}) userRouter.route('/:user_id') .get(function() {}) var itemRouter = require('express').Router(); itemRouter.route('/') .get(function() {}) .post(function() {}) itemRouter.route('/:item_id') .get(function() {}) app.use('/users', userRouter); // Now how to add the next router? // app.use('/users/', itemRouter); item的URL是user的URL分层结构的后代。 […]

socket.io客户端库在哪里?

据我所见,如果node.js没有被用作web服务器,我们不知道在哪里定位socket.io的客户端脚本。 我find了一个客户端文件的完整目录,但是我需要它们的组合版本(比如在使用node.js web服务器时提供服务)。 有任何想法吗?

部署生产Node.js服务器

我已经写了一个Node.js应用程序,我正在寻找它在我们的一台生产机器上运行。 这似乎是一个相当普遍的要求,但我找不到一个适当的解决scheme。 是否没有build立生产Node.js应用程序的解决scheme? 该应用程序很简单(<100 LOC),但需要非常高效,可靠,可连续运行多年,而无需重新启动。 它将在一个大型网站上运行,每秒钟几十个连接。 (该应用程序不被用作networking服务器,它只有一个JSON API) 以下是我考虑的方法,但我仍然不确定: 使用框架(如Express) 因为应用程序需要高性能,而且非常简单,所以以框架的forms添加膨胀是我想要避免的。 用nohup启动服务器 这里的主要问题是exception处理,我们(显然)不希望整个服务器因为exception而崩溃。 据我所知,在一个try {} catch {}循环中包装整个应用程序将无济于事,因为在解释exception之后,Javascript解释器处于不可预知的状态。 那是对的吗? 使用像永远的东西 我已经在我们的FreeBSD机器上安装了Forever,这是非常麻烦的。 它最终产生了无法从Forever中杀死的无尽进程。 我必须运行kill -9来让我的机器重新运行,并且我对运行Forever上的生产应用程序没有太大的信心。 也似乎Upstart(类似的工具,但更通用)不会在FreeBSD上运行。 托pipe解决scheme(如Heroku,Rackspace,Amazon EC2等) 这可能是最简单的解决scheme,但我们已经有一个严重的硬件,我们的networking服务器的其余部分。 出于财务考虑,这是没有道理的。 一定有一些确定的解决scheme呢? 我错过了什么吗?

node.js与ASP.NET Core性能testing的意外结果

我正在用node.js和asp.net-core编写的两个(有点)你好世界项目做一个快速压力testing。 他们都在生产模式下运行,没有logging器连接到他们。 结果是惊人的! 即使在做了一些额外的工作之后,ASP.NET核心的performance也优于node.js应用,而node.js应用只是渲染一个视图。 应用程序1: http://localhost:3000/nodejs node.js 使用 :node.js,express和vash渲染引擎。 这个端点的代码是 router.get('/', function(req, res, next) { var vm = { title: 'Express', time: new Date() } res.render('index', vm); }); 正如你所看到的,除了通过timevariables发送当前date到视图外,它什么都不做。 应用程序2: http://localhost:5000/aspnet-core asp.net core 使用 :ASP.NET核心,默认模板定位dnxcore50 然而,这个应用程序不只是呈现一个页面上的date。 它生成5段各种随机文本。 理论上这应该比nodejs应用稍微重一点。 这是渲染这个页面的动作方法 [ResponseCache(Location = ResponseCacheLocation.None, NoStore = true)] [Route("aspnet-core")] public IActionResult Index() { var sb = new StringBuilder(1024); […]