安装 Node.js 的 Web 服务器

问题描述 投票:0回答:2

我正在尝试阅读我购买的一本名为“Pro Angular JS”的书,但我在将 Web 服务器指向正确的端口时遇到问题。所以我进入命令行,运行 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) 中启动测试文档时,我收到“无法找到页面”错误。

已经尝试使用此链接来解决我的问题,这对于我的问题来说似乎是完全正确的,但它没有解决任何问题:

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

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

node.js angularjs npm node.js-connect
2个回答
1
投票

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

connect 的自述文件有一个中间件引用列表,它向您显示 npm 上的模块名称,该模块为您提供每个中间件的旧功能(例如,

static
现在分解为自己的模块
serve-static
) ).


0
投票

我正在遵循同一本书/示例和以下作品。我不主张任何信用,它来自另一个关于设置简单服务器的 Stack Overflow 答案以及同一答案的评论内容(问题 24346161 从这里链接到它:nodejs connect 找不到静态

因为我在完全相同的学习环境中使用了它(我还购买了一本名为“Pro Angular JS”的书),并且我已经在房子里待了 3 个小时试图解决这个问题(是的,我是一个完全的新手),所以我想我应该发布在这里。

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

其次,您的 Node 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);

我只是在 angularjs 目录中粘贴了一个简单的 index.html 文件来开始包含

连接工作

测试一下,效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.