Node.js:表达不起作用?

时间:2014-04-12 21:35:36

标签: node.js express

我安装了express,它运行得很好:

...
npm http 200 https://registry.npmjs.org/send/-/send-0.1.4.tgz
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
npm http GET https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz
npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── merge-descriptors@0.0.2
├── utils-merge@1.0.0
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── accepts@1.0.0 (mime@1.2.11, negotiator@0.3.0)
└── serve-static@1.0.1 (send@0.1.4)

但接下来我做了:

express testapp
-bash: express: command not found

好像没有安装express。那是什么?

仅供参考,如果有任何不同,我有OSX吗?

2 个答案:

答案 0 :(得分:22)

新版本的Express(4.0)本身没有bin文件夹。您必须安装express-generator才能获得设置功能。<​​/ p>

Express 4.0做了重大改变。具体而言,将中间件和助手移动到外部模块中。

如果您需要立即启动并运行,则应安装Express 3,然后了解如何在有更多时间的情况下运行Express 4。

首先,确保$ PATH中有./node_modules/.bin。然后...

npm install "express@3.x"
express

或者,如果您有时间了解Express 4中的差异,那么您可以通过安装express-generator来启动并运行。

npm install express-generator
express

重要:确保shell $ PATH变量中包含./node_modules/.bin。 Node模块中的可执行文件链接在./node_modules/.bin目录中。在您的路径中使用它可以轻松运行这些可执行文件,而无需键入整个路径并且无需全局添加它们。如果您使用多个项目并且需要保持与旧项目的向后兼容性,那么全局添加它们是一个坏主意。

提示:您可以找到list of Express middlewares and helpers on Github

答案 1 :(得分:5)

以下是我使用快速应用程序的方法。我第一次跑

npm install -g express-generator

然后我用

创建了我的应用程序
express app_name

app_name显然是您应用的名称。

然后我安装了dependancies。

cd app_name && npm install

然后运行我做的应用程序

DEBUG=app_name ./bin/www

系统会生成提示,您可以复制并粘贴它们。然后你去访问

http://localhost:3000/

这是我在本地工作的应用

enter image description here