我已经在SO上看到了另一个问题,但是我无法解释为什么我无法解决这个问题。在与我的节点安装相同的目录中,我运行了命令npm install
和npm install connect
。然后再次在与我的节点安装相同的目录中创建了一个server.js文件:
var connect = require("connect");
var app = connect.createServer().use(connect.static('../angularjs'));
app.listen(8180);
所以,当我再次在我的根节点目录中时,{I} node server.js
启动服务器,它开始很好。在节点的根目录中,我创建了一个名为angularjs的文件夹,在该文件夹中我放置了一个index.html。每当我在浏览器中导航到localhost:8180 / index.html时,我收到消息Cannot GET /index.html
。看来这应该有效,我在这里想念的是什么?
答案 0 :(得分:2)
注意目录的位置。从阅读你的帖子看来,你有一个包含angularjs目录的节点源目录,这就是我在测试时创建的内容。
在Linux上,您可以使用ls
或ls -l
(详细)命令检查目录及其中的文件
使用connect.static()
参数./angularjs
在此处工作,但不起作用
../angularjs
测试程序
$ mkdir nodetest
$ cd nodetest
$ mkdir angularjs
$ cat >server.js <<EOF
var connect = require("connect");
var app = connect.createServer().use(connect.static('../angularjs'));
app.listen(8180);
EOF
$ npm install connect
$ emacs ./angularjs/test.html # make a html file to get
$ nodejs ./server.js &
$ wget http://localhost:8180/test.html
# fails 404
$ kill %1 // kill nodejs
$ emacs ./server.js # change ../angularjs to ./angularjs
$ nodejs ./server.js &
$ wget http://localhost:8180/test.html
# works