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

时间:2017-07-02 19:40:50

标签: javascript angularjs node.js express



{
  "check-coverage": false,
  "lines": 99,
  "statements": 99,
  "functions": 99,
  "branches": 99,
  "include": [
    "./lib.js"
  ],
  "reporter": [
    "lcov",
  "text-summary"
  ],
  "require": [],
  "extension": [
    ".js"
  ],
  "cache": false,
  "all": false,
  "report-dir": "./coverage"
}




  

我通过"节点server.js"在cli中收到的错误消息。是:   events.js:160         扔掉//未处理的错误'事件         ^

     

错误:听EACCES 0.0.0.0:80       at Object.exports._errnoException(util.js:1018:11)       at exports._exceptionWithHostPort(util.js:1041:20)       在Server._listen2(net.js:1245:19)       在听(net.js:1294:10)       在Server.listen(net.js:1390:5)       在EventEmitter.listen(G:\ angular \ node_modules \ express \ lib \ application.js:618:24)       在对象。 (G:\角\ 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书中的代码。变化   有节点还是可能表达?

3 个答案:

答案 0 :(得分:1)

在Unix上,1024以下的所有端口都称为Privileged Ports。只有root用户或其他特定系统用户才能在此处启动服务。

当您使用普通用户进行编程时(如您所愿),通常在1024以上的端口上启动您的开发服务器。对于Web服务器,通常使用80803000。< / p>

错误消息Error: listen EACCES 0.0.0.0:80也给了您一个提示。 EACCESS表示您无权在端口80上打开服务器。只有root用户才能运行生产代码。

另外一条建议:AngularJS在过去几年中已经改变了很多。因此,如果您想学习它,请不要使用旧书。你学到的很多东西可能已经过时了,现在做的也不同了。

答案 1 :(得分:0)

Error: listen EACCES表示您无权收听该端口。尝试不同的端口。

静态内容应该像这样提供

app.use(express.static(__dirname + '/'));

__dirname代表当前目录。

答案 2 :(得分:-1)

此代码对我有用,请尝试一下:

var express = require('express');

var app = express.createServer();

app.get('/', express.static(__dirname + 'your path'));

app.listen(80);