这个文档很难回答我的问题。我不明白这些解释。有人能用更简单的话说吗?如果很难选择简单的单词,可以举个例子吗?
EDIT还添加了peerDependencies,它密切相关,可能会引起混淆。
这个文档很难回答我的问题。我不明白这些解释。有人能用更简单的话说吗?如果很难选择简单的单词,可以举个例子吗?
EDIT还添加了peerDependencies,它密切相关,可能会引起混淆。
当前回答
依赖项需要运行,devDependencies仅用于开发
其他回答
在尝试分发npm包时,应避免使用依赖项。相反,您需要考虑将其添加到peerDependencies中。
使现代化
大多数时候,依赖关系只是描述您的生态系统的一堆库。除非你真的在使用某个库的特定版本,否则你应该让用户通过将其添加到peerDependencies中来选择是否安装该库以及选择哪个版本。
我想在回答中补充我对这些依赖性解释的看法
依赖项用于直接在代码库中使用,通常会在生产代码中使用,或代码块中使用devDependencies用于构建过程、帮助您管理最终代码的方式的工具、第三方测试模块(例如webpack)
当使用Webpack捆绑前端应用程序时,依赖项和devDependencies之间的区别不是很清楚。对于最终的捆绑包,将依赖项放置在何处并不重要(但对于其他工具来说可能很重要)。这就是为什么文档看起来很混乱。
我在这里找到了解释:在使用Webpack时,“依赖项”和“devDependencies”是否重要?
如果不想安装devDependencies,可以使用npm install--production
依赖关系
这些是您的程序包需要运行的程序包,因此在人们运行时将安装这些程序包
npm install PACKAGE-NAME
例如,如果您在项目中使用jQuery。如果有人没有安装jQuery,那么它就不会工作。要另存为依赖项,请使用
npm install --save
开发人员依赖关系
这些是您在开发中使用的依赖项,但在人们使用时不需要,因此当人们运行npm安装时,它不会安装它们,因为它们不是必需的。例如,如果您使用mocha进行测试,人们不需要运行mocha,所以npm install不会安装它
npm install PACKAGE --save-dev
对等依赖关系
如果您想创建和发布自己的库,以便将其用作依赖项,则可以使用这些库。例如,如果您希望您的包在另一个项目中用作依赖项,那么当有人安装将您的项目作为依赖项的项目时,也会安装这些包。大多数情况下,您不会使用对等依赖关系。