我正在尝试阅读我购买的一本名为"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 file...so,我用文本编辑器创建了它,其中包含以下代码:
var connect = require('connect');
connect.createServer(
connect.static(".../angularjs")
).listen(5000);当然,他们希望我将此文件添加到安装Node的目录中。目前,它位于我当前的用户(用户是kst001)根目录所在的位置。这也是我在shell中使用npm install connect行安装node_module文件夹时创建它的位置。他们还希望我创建一个名为angularjs的文件夹,用于存储我的应用程序,并让我将其放在安装node.js的根目录中。再一次,与其他所有内容一起位于根目录中。然而,当我尝试在端口5000 (localhost:5000/test.html)中启动我的测试文档时,我得到了一个“无法找到页面”的错误。
我已经尝试使用这个链接来解决我的问题,这对我的问题似乎很重要,但它没有解决任何问题:
Node / connect issue Object function createServer has no method static
顺便说一下,我用的是Mac电脑。有什么想法吗,伙计们?任何帮助都将不胜感激。
发布于 2014-08-01 00:26:45
connect.static()不能工作的原因是最新的主要版本connect (3.x)不再包含connect在2.x中捆绑的所有中间件。
connect的自述文件有一个list of middleware references,它显示了npm上的模块名称,为您提供了每个中间件的旧功能(例如,static现在被分成了它自己的模块serve-static)。
发布于 2015-07-10 18:38:39
我正在遵循相同的书/示例和下面的作品。我不承认,它来自另一个堆栈溢出答案,关于设置一个简单的服务器加上相同答案的评论内容(问题24346161从这里链接到它:nodejs connect cannot find static)
因为我在完全相同的学习环境中使用了它(我还买了一本叫做"Pro Angular JS“的书),我已经在房子周围转了3个小时试图理清这个问题(是的,我是一个完全的新手),我想我应该把它贴在这里。
首先,从节点安装目录npm安装serve-static
其次,在Windows7机器上,用于在本地主机:5000浏览器窗口中提供angularjs目录内容的简单静态服务器的节点server.js代码应该是(截至2015年7月) ...
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("./angularjs"));
app.listen(5000);我只是在angularjs目录中放置了一个简单的index.html文件,开始时包含
连接工作
对它进行了测试,效果很好。
https://stackoverflow.com/questions/25064040
复制相似问题