繁体   English   中英

创建一个简单的node.js静态服务器

[英]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服务器,通常使用80803000

错误消息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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM