为Node.js安装Web服务器

我正在试图购买一本我购买的名为“Pro Angular JS”的书,而且我无法获得指向正确端口的Web服务器。 所以,我去命令行,运行节点,我得到的第一个错误是,当试图安装连接:

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

好,可以。 所以我按照命令指定的方式进行操作,并按照用户的要求进行安装,最后在我的用户根文件夹中添加一个名为node_modules的文件夹。 好吧,似乎一切仍然有道理。

现在,这本书告诉我在Node.js安装文件夹中创build一个server.js文件。 在我的用户上没有实际创build的Node.js安装文件夹。 我确实看到了node_modules文件夹。 所以我猜我的用户的根目录是node.js安装的地方,但也许是隐藏的或什么的? 我相信当我使用Mac安装程序的节点,它表示它是在usr / local / bin创build的。 但我不知道,如果这是我的用户在我的电脑,甚至更多的根访问我的电脑。

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

 var connect = require('connect'); connect.createServer( connect.static(".../angularjs") ).listen(5000); 

当然,他们希望我将这个文件添加到我的节点安装的目录。 目前,它位于我当前用户(用户是kst001)根目录的位置。 当我在shell中使用npm install connect行来安装node_module文件夹时,这也是我创buildnode_module文件夹的地方。 他们还希望我创build一个名为angularjs的文件夹,在那里我将存储我的应用程序,并将其放置在安装了node.js的根目录中。 再一次,坐在根目录中的一切。 然而,当我尝试启动我的testing文档在端口5000(localhost:5000 / test.html),我得到一个“找不到页面”的错误。

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

节点/连接问题对象函数createServer没有静态的方法

顺便说一句,我使用的是Mac。 任何想法,家伙? 任何帮助将非常感激。

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

连接自述文件有一个中间件引用的列表 ,向您显示npm上的模块名称,这些名称为每个中间件提供了旧function(例如, static现在分解为自己的模块serve-static )。

我遵循相同的书/例子和以下的作品。 我声称没有信用,这是从另一个堆栈溢出回答关于设置一个简单的服务器加上同一个答案评论的内容(问题24346161从这里链接到它: nodejs连接找不到静态 )

因为我在完全相同的学习环境下使用它(书中我也购买了名为“Pro Angular JS”),而且我已经在房子周围试了3个小时(这是一个完整的新手),我想我会把它发布这里。

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

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

 var connect = require('connect'), serveStatic = require('serve-static'); var app = connect(); app.use(serveStatic("./angularjs")); app.listen(5000); 

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

连接工作

testing它,它工作的一种享受。