刚刚探索node.js并遇到快递;在npm存储库站点https://www.npmjs.com/package/express上,它明确指出安装是
$ npm install express
但如果我向下滚动快速启动提及
$ npm install -g express-generator@4
有人可以详细解释发生了什么吗?我用谷歌搜索并理解快递v3两者捆绑在一起,但在快递v4中,发电机被拉出。
所以我需要同时安装吗?发电机安装是自动表达,而不是反过来?我已经有JS疲劳了,我才开始: - (
补充问题: 然后为了进一步混淆问题,我看到另一个问题,我应该从'npm init'开始并要求express,或'express myApp'。现在真正发生了什么,init在哪里进入呢?
2017年1月30日更新 我从其他人那里接受了下面的答案,但我也添加了我自己的答案,这就是我当时正在寻找的一个混乱的完全初学者。它可以帮助别人。
答案 0 :(得分:7)
我的理解是:
作为锅炉板文件的一部分,是一个 package.json 文件,用于定义项目的依赖关系 - 即项目所需的npm包。快递包列在那里。
知道 npm install 指令(在当前工作目录设置为包含package.json的项目文件夹的情况下运行)会将package.json中列出的所有依赖项“安装”到项目文件夹中以使它们可用对你的申请来说,这样就足够了:
答案 1 :(得分:1)
这个答案指的是Windows上的'express'v4。我不知道快递3或更少的行为是什么。
0)以管理员身份打开cmd提示
1)全球安装快递发电机;
npm install -g express-generator
2)在您选择的目录中生成样板文件,例如
express myApp
3)cd到myApp文件夹,在那里你会找到 package.json (+你的主 app.js 文件,+其他文件夹)
4)最后在app文件夹中安装'express'本地(+ package.json中定义的任何其他依赖项)
npm install
注意:您在步骤4中安装的快递是指构成快速Web框架一部分的javascript文件集,由您自己的应用程序使用和引用;步骤2)中提到的express实际上是您在步骤1)中全局安装的express-generator cmd行。
至于我的补充问题, npm init 用于创建一个package.json文件,您可以在其中响应提示, npm init -y 自动创建package.json使用默认值,在任何一种情况下都与express表示无关。
如果你想从头开始构建项目而没有样板文件/文件夹,首先是npm init,然后是 npm install --save express ,这会在你的应用程序本地安装express, - save选项在您的package.json中添加express作为依赖项。
最重要的是,要使用快递网络框架,您不必安装快速生成器,但必须安装快递。如果您使用3个使用快递的应用程序,最简单的方法是在本地为每个应用程序安装快速3次。
答案 2 :(得分:0)
你可以同时使用这两个并且你不能找到快速和快速发电机之间的任何区别但是,许多其他模块如中间件不是必需的主要表达所以他们被添加为单独的模块和发电机是其中之一那些。
这种分离的想法表达了轻量级,并设法有效地生成事物。
在V4中,生成器没有使用express绑定,您需要下载两个单独的模块。