为Node.js安装Web服务器

时间:2014-07-31 16:15:23

标签: node.js angularjs npm connect

我试图按照我购买的名为" Pro Angular JS"的书,我无法将网络服务器指向正确的端口。所以我转到命令行,运行Node,当我尝试安装connect时,我得到的第一个错误就是这个:

npm should be run outside of the node repl, in your normal shell.
(Press Control-D to exit.)

好的,公平的。所以我按照命令指定的方式执行,然后我将其作为用户进行安装,最后在我的用户根文件夹中添加一个名为node_modules的文件夹。好吧,似乎一切仍然有意义。

现在,本书告诉我在Node.js安装文件夹中创建一个server.js文件。实际上没有在我的用户上创建Node.js安装文件夹。我确实看到了node_modules文件夹。所以我猜测我的用户的根目录是安装了node.js的地方但是它可能是隐藏的还是什么?我相信当我使用Node的Mac安装程序时,它说它是在usr / local / bin创建的。但我不知道这是我的计算机上的用户,还是更多的root用户访问我的计算机。

最后,回到这个server.js文件...所以我用文本编辑器创建它,包含这段代码:

var connect = require('connect');

connect.createServer(
connect.static(".../angularjs")

).listen(5000);

当然,他们希望我将此文件添加到我的Node安装目录。目前,它位于我当前用户(用户是kst001)根目录的位置。当我使用shell中的npm install连接线安装我的node_module文件夹时,这也是我的位置。他们还希望我创建一个名为angularjs的文件夹,我将存储我的应用程序,然后将其放在安装了node.js的根目录中。再次,与其他所有内容一起坐在根目录中。然而,当我尝试在端口5000(localhost:5000 / test.html)中启动我的测试文档时,我得到一个"找不到页面"错误。

已经尝试使用此链接来解决我的问题,这似乎已经解决了我的问题,但它没有解决任何问题:

Node / connect issue Object function createServer has no method static

顺便说一下,我正在使用Mac。伙计们,有什么想法?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

connect.static()不起作用的原因是connect(3.x)的最新主要版本不再包含连接在2.x中捆绑的所有中间件。

connect的自述文件有一个list of middleware references,它显示了npm上模块的名称,它为您提供了每个中间件的旧功能(例如,static现在已分解为自己的模块{{ 3}})。

答案 1 :(得分:0)

我遵循相同的书/示例,以下工作。我声称没有功劳,它来自另一个Stack Overflow关于设置简单服务器的答案以及对同一答案的评论内容(问题24346161从这里链接到它:nodejs connect cannot find static

因为我在完全相同的学习环境中使用它(我还购买了名为" Pro Angular JS"的书),我在房子里待了3个小时试图解决这个问题(是一个完整的新手) ),我想我会把它发布在这里。

首先从您的节点安装目录     npm install serve-static

其次,您的节点server.js代码是一个简单的静态服务器,用于在Windows 7机器上的localhost:5000浏览器窗口中为angularjs目录内容提供服务(截至2015年7月)......

var connect = require('connect'),
    serveStatic = require('serve-static');

var app = connect();

app.use(serveStatic("./angularjs"));
app.listen(5000);

我只是将一个简单的index.html文件放在angularjs目录中以开始包含     

连接工作

测试它,它是一种治疗方法。

相关问题