Tag: node.js

在node.js退出前执行清理操作

我想告诉node.js总是在退出之前做一些事情,无论出于何种原因–Ctrl + C,exception或其他原因。 我试过这个: process.on('exit', function (){ console.log('Goodbye!'); }); 开始这个过程,把它杀死,什么也没有发生。 再次启动,按Ctrl + C,仍然没有发生…

NodeJS – 使用NPM安装时出错

Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Windows\system32>npm install caress-server npm http GET https://registry.npmjs.org/caress-server npm http 304 https://registry.npmjs.org/caress-server npm http GET https://registry.npmjs.org/jspack/0.0.1 npm http GET https://registry.npmjs.org/buffertools npm http 304 https://registry.npmjs.org/jspack/0.0.1 npm http 304 https://registry.npmjs.org/buffertools > buffertools@2.0.1 install C:\Windows\system32\node_modules\caress-server\node_ modules\buffertools > node-gyp rebuild C:\Windows\system32\node_modules\caress-server\node_modules\buffertools>node "G: \nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node- gyp.js" rebuild gyp ERR! configure error […]

find已安装的npm软件包的版本

如何find安装的node.js / npm 包的版本? 这将打印npm本身的版本: npm -v <package-name> 这打印出一个神秘的错误: npm version <package-name> 这将打印registry中的软件包版本(即可用的最新版本): npm view <package-name> version 我如何获得安装的版本 ?

ExpressJS如何构build应用程序?

我正在使用NodeJS的ExpressJS Web框架。 使用ExpressJS的人把他们的环境(开发,生产,testing…),他们的路线等放在app.js 。 我认为这不是一个美丽的方式,因为当你有一个大的应用程序,app.js太大了! 我想要有这个目录结构: | my-application | — app.js | — config/ | — environment.js | — routes.js 这是我的代码: app.js var express = require('express'); var app = module.exports = express.createServer(); require('./config/environment.js')(app, express); require('./config/routes.js')(app); app.listen(3000); configuration/ environment.js module.exports = function(app, express){ app.configure(function() { app.use(express.logger()); }); app.configure('development', function() { app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); […]

在node.js ES6variables导入名称?

是否有可能在使用ES6导入时将某些东西导入到提供variables名称的模块中? 也就是说,我想在运行时导入一些模块,具体取决于configuration中提供的值: import something from './utils/' + variableName;

在Node.js Web服务器中执行PHP脚本

使用Apache执行PHP脚本的Node.js Web服务器function需要执行哪些步骤? 任何将PHP集成到Node.js中的方法? 注意:我不想在Node.js中直接执行PHP脚本,而是通过Apache实例或类似的东西“路由”。

如何使用Node.jsparsingHTML页面

我需要parsing(服务器端)大量的HTML页面。 我们都同意,正则expression式不是去这里的路。 在我看来,JavaScript是parsingHTML页面的原生方式,但是这个假设依赖于服务器端代码具有浏览器内部的所有DOM能力。 Node.js是否具有内置的能力? 有没有更好的方法解决这个问题,在服务器端parsingHTML?

在Express 4和express-generator的/ bin / www中使用socket.io

所以这里是交易:我试图在一个快速项目中使用socket.io。 在Express Js 4发布后,我更新了我的快速生成器,现在应用程序的初始function进入./bin/www文件,包括那些variables(www文件内容: http : //jsfiddle.net/avMa5/ ) var server = app.listen(app.get('port'), function() {..} (通过npm install -g express-generator检查它,然后express myApp 就这么说吧,让我们回忆一下socket.io文档是如何要求我们解雇的: var app = require('express').createServer(); var io = require('socket.io')(app); 好吧,但我不能在app.js里面做,就像推荐一样。 这应该在./bin/www中完成才能工作。 在./bin/www这是我能做些什么来得到它的工作: var io = require('socket.io')(server) 确定这个工程,但我不能在任何地方使用io var,我真的不想把我的socket.io函数在www文件。 我想这只是基本的语法,但我不能得到这个工作,甚至没有使用module.exports = server或server.exports = server也没有module.exports.io = app(io)上的WWW文件 所以问题是:我如何使用socket.io这个/ bin / www文件作为我的应用程序的起点?

node.js shell命令执行

我仍然试图掌握如何运行linux或windows shell命令并在node.js中捕获输出的细节; 最终,我想要做这样的事情… //pseudocode output = run_command(cmd, args) 重要的是output必须可用于全局范围的variables(或对象)。 我尝试了以下function,但由于某种原因,我得到undefined打印到控制台… function run_cmd(cmd, args, cb) { var spawn = require('child_process').spawn var child = spawn(cmd, args); var me = this; child.stdout.on('data', function(me, data) { cb(me, data); }); } foo = new run_cmd('dir', ['/B'], function (me, data){me.stdout=data;}); console.log(foo.stdout); // yields "undefined" <—— 我无法理解代码在哪里突破…这个模型的一个非常简单的原型工作… function try_this(cmd, cb) { var […]

如何在Express应用程序中使用JSON POST数据?

我发送以下JSONstring到我的服务器。 ( { id = 1; name = foo; }, { id = 2; name = bar; } ) 在服务器上,我有这个。 app.post('/', function(request, response) { console.log("Got response: " + response.statusCode); response.on('data', function(chunk) { queryResponse+=chunk; console.log('data'); }); response.on('end', function(){ console.log('end'); }); }); 当我发送string,它显示我得到了一个200响应,但其他两个方法永远不会运行。 这是为什么?