我使用以下命令安装了expressjs: sudo npm install -g express 我有以下警告: npm WARN package.json range-parser@0.0.4 No repository field. npm WARN package.json fresh@0.1.0 No repository field. npm WARN package.json methods@0.0.1 No repository field. npm WARN package.json methods@0.0.1 No readme data. npm WARN package.json cookie-signature@1.0.1 No repository field. npm WARN package.json send@0.1.0 No repository field. npm WARN package.json pause@0.0.1 No repository […]
评论者对另一个问题的 回答评论说: 除非绝对必要,否则不要使用kill -9! SIGKILL不能被困住,所以被杀的程序不能运行任何关机例程来擦除临时文件。 首先尝试HUP(1),然后INT(2),然后QUIT(3) 我原则上同意SIGKILL ,但其余的消息给我。 鉴于kill发送的默认信号是SIGTERM ,我认为这是任意进程正常closures的最常见的信号。 另外,我已经看到SIGHUP用于非终止的原因,比如告诉守护进程“重新读取你的configuration文件”。 而在我看来, SIGINT (与Ctrl-C相同的中断,对吗?)没有得到广泛的支持,或者是非常不正常的结束。 鉴于SIGKILL是最后的select – 哪些信号,以什么样的顺序发送到一个任意的进程,以尽可能优雅地closures它? 如果可以的话,请提供支持事实(超出个人偏好或意见)或参考资料来证实您的答案。 注:我特别感兴趣的最佳做法,包括考虑bash / Cygwin。 编辑:到目前为止,似乎没有人提到INT或QUIT,并且HUP的提及有限。 有什么理由把这些包括在一个有序的过程中?
如果我做了 res.sendfile('public/index1.html'); 然后我得到一个服务器控制台警告 明确反对res.sendfile :改为使用res.sendFile 但它在客户端运行良好。 但是当我改变它 res.sendFile('public/index1.html'); 我得到一个错误 TypeError:path必须是绝对的,或者指定root到res.sendFile 和index1.html不呈现。 我无法弄清楚什么是绝对path。 我有public目录在server.js相同的水平。 我正在从server.js做res.sendFile 。 我也宣布了app.use(express.static(path.join(__dirname, 'public'))); 添加我的目录结构: /Users/sj/test/ ….app/ ……..models/ ….public/ ……..index1.html 这里指定的绝对path是什么? 我正在使用Express 4.x.
我不知道这样做的function,有人知道吗?
我习惯于使用httpd(Apache),它提供了一种configuration映射到目录的子域的方法。 我怎么能在Connect.js / Express.js中做同样的事情? 我看到我唯一拥有的是我不确定如何使用configuration子域的路由。 我有像m.mysite.com,sync.mysite.com的子域名 有人可以帮忙吗?
我正在尝试在node.js中构build一个支持跨域脚本的Web服务器,同时仍然从公共目录提供静态文件。 我正在使用express.js,并不确定如何允许跨域脚本( Access-Control-Allow-Origin: * )。 我看到这个post ,我没有find有用的。 var express = require('express') , app = express.createServer(); app.get('/', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.configure(function () { app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); }); app.configure('development', function () { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function () { var oneYear = […]
出于某种原因,我的节点服务器不能服务路由/socket.io/socket.io.js ,我总是得到一个404错误。 我试着编译不同的节点版本( 当前是0.6.13,它也运行在服务器上,实际上工作 )。 从app.js我得到的info: socket.io started并尝试调用socket.io.js时没有错误。 我尝试从本地主机和端口8000,我使用快速框架 这是来自app.js的代码: var express = require('express') , app = require('express').createServer() , io = require('socket.io').listen(app, { log: true }); app.listen(8000); app.configure(function() { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); io.sockets.on('connection', function (socket) { // all other stuff here
我不完全了解如何获得远程用户IP地址。 比方说,我有一个简单的请求路线,如: app.get(/, function (req, res){ var forwardedIpsStr = req.header('x-forwarded-for'); var IP = ''; if (forwardedIpsStr) { IP = forwardedIps = forwardedIpsStr.split(',')[0]; } }); 上面的方法是否正确得到真正的用户IP地址还是有更好的办法? 那么代理呢?
在Ubuntu中很简单, 我可以运行应用程序使用: $ NODE_ENV=production node myapp/app.js 但是,这在Windows上不起作用。 有一个configuration文件,我可以设置属性?
我已经将我的代码简化为我可以创build的最简单的express-js应用程序: var express = require("express"), app = express.createServer(); app.use(express.static(__dirname + '/styles')); app.listen(3001); 我的目录看起来像这样: static_file.js /styles default.css 然而当我访问http://localhost:3001/styles/default.css ,出现以下错误: Cannot GET / styles / default.css 我使用express 2.3.3和node 0.4.7 。 我究竟做错了什么?