Node.js:表达不起作用?

R0b*_*n1k 7 node.js 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)
Run Code Online (Sandbox Code Playgroud)

但后来我做了:

express testapp
-bash: express: command not found
Run Code Online (Sandbox Code Playgroud)

就像没有安装express一样.那是怎么回事?

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

Dan*_*iel 22

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

Express 4.0做出了重大改变.具体而言,将中间件和帮助程序移动到外部模块中.

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

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

npm install "express@3.x"
express
Run Code Online (Sandbox Code Playgroud)

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

npm install express-generator
express
Run Code Online (Sandbox Code Playgroud)

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

提示:您可以在Github上找到Express中间件和帮助程序列表.


JGa*_*rdo 5

这是我如何让我的快速应用程序工作.我先跑了

npm install -g express-generator
Run Code Online (Sandbox Code Playgroud)

然后我创建了我的应用程序

express app_name
Run Code Online (Sandbox Code Playgroud)

app_name显然,你的应用程序的名称在哪里.

然后我安装了dependancies.

cd app_name && npm install
Run Code Online (Sandbox Code Playgroud)

然后运行我做的应用程序

DEBUG=app_name ./bin/www
Run Code Online (Sandbox Code Playgroud)

提示由系统生成,您可以复制并粘贴它们.然后你去参观

http://localhost:3000/
Run Code Online (Sandbox Code Playgroud)

这是我在本地工作的应用程序

在此输入图像描述