[英]Creating a simple node.js static server
var express = require('express'); var app = express(); app.use('/', express.static('./')); app.listen(80);
我通过“ node server.js”在cli中收到的错误消息是:events.js:160 throw er; //未处理的“错误”事件^
错误:在Exports._exceptionWithHostPort(util.js:1041:20)在Server._listen2(net.js:1245:19)处在Object.exports._errnoException(util.js:1018:11)处监听EACCES 0.0.0.0:80在对象上的Server.listen(net.js:1390:5)处的监听(net.js:1294:10)在EventEmitter.listen(G:\\ angular \\ node_modules \\ express \\ lib \\ application.js:618:24) 。 (G:\\ angular \\ server.js:4:5)在Module._compile(module.js:570:32)在Object.Module._extensions..js(module.js:579:10)在Module.load( module.js:487:32)
有什么想法为什么一小段代码会产生错误? 我从尝试学习的较老的angularjs书中获得了代码。 用节点改变还是表达?
在Unix上,所有低于1024的端口都称为Privileged Ports 。 只有root用户或其他特定系统用户才能在此处启动服务。
当您与普通用户一起编程时(通常应该如此),习惯在1024以上的端口上启动开发服务器。对于Web服务器,通常使用8080
或3000
。
错误消息Error: listen EACCES 0.0.0.0:80
也给了您提示。 EACCESS
意味着您无权在端口80上打开服务器。只有root用户才能运行生产代码。
还有一条建议:AngularJS在过去几年中发生了很大变化。 因此,如果您想学习它,请不要使用旧书。 您现在所学的很多内容可能已过时,现在又有所不同。
Error: listen EACCES
意味着您无权监听该端口。 尝试其他端口。
静态内容应按以下方式投放
app.use(express.static(__dirname + '/'));
__dirname
代表当前目录。
该代码对我有用,请尝试:
var express = require('express');
var app = express.createServer();
app.get('/', express.static(__dirname + 'your path'));
app.listen(80);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.