Express app不会以节点app.js开头

时间:2014-11-15 19:45:09

标签: node.js express

我正在关注设置快递应用this tutorial。但是当我运行node app.js时,服务器无法启动。我运行的上一个命令是

cd express_example && npm install

但是我收到了这个错误

npm WARN engine express@4.9.8: wanted: {"node":">= 0.10.0"} (current: {"node":"0.8.4","npm":"2.1.4"})
npm WARN engine void-elements@1.0.0: wanted: {"node":">=0.10.0"} (current: {"node":"0.8.4","npm":"2.1.4"})

所以我认为这是因为需要更新版本的节点。所以我查看了我所拥有的节点版本,发现它已经老了,所以我尝试升级了。但当我跑brew update node时,我得到了这个警报。

Error: node-0.10.32 already installed

我做了一些搜索,在SO上发现了this answer。建议运行这些命令

sudo npm cache clean -f

然后

sudo npm install -g n

然后

sudo n stable

但服务器仍然无法启动。但至少我现在在v0.10.33

我还在SO上发现this similar question,其接受的答案是尝试sudo node app.js,但这似乎不正确,甚至也没有用。

1 个答案:

答案 0 :(得分:2)

如果您使用Express 4并使用生成器,则运行应用程序的方法略有不同。 Express 4将文件结构更改为:

├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

注意bin/www目录。

现在,应用启动逻辑已分隔在bin/www文件中。因此,您必须使用以下命令运行您的应用程序:

DEBUG=<<app_name>> ./bin/www

参考: http://expressjs.com/starter/generator.html