开源和现代编程语言生态系统的美妙之处之一是,您即将编写的代码很有可能已经编写好了。
Node.js 有大量的包,在你我之间,它们通常是由比我更聪明的人编写的,他们想出了一堆我做梦也想不到的东西。 正如他们所说,站在巨人的肩膀上。
入门
在本文中,我将讨论同时使用 npm
和 yarn
。 如果您是我们爬虫类网站的狂热读者,您可能已经看过我们其他 Node.js 文章中提到的这两个命令。
对于那些刚入行的人,npm
和 yarn 是 Node.js 的包管理器。 它们都为您的项目利用 package.json 文件,并且功能非常相似。
如果您已经在本地安装了 Node.js,那么您可能已经安装了 npm
。 如果您想继续使用 yarn
,您可以在此处 查看他们的安装说明 。
根据您的系统,您还可以咨询友好的社区包管理器并以这种方式安装。
此外,我们将在全局以及作为依赖项的项目中安装东西。 您可以很好地使用您现有的项目,或者您可以在 /tmp
目录中创建一个虚拟项目,如下所示:
$ mkdir /tmp/gator-project $ cd /tmp/gator-project $ npm init -y
这将创建一个 package.json
文件,我们将从中添加和删除包。
向项目添加开发依赖项
并非所有依赖项都是平等的,因为有些依赖项仅在进行开发时才需要。 这些依赖项虽然很重要,但可能会减慢生产部署,因为它们需要时间来安装并且永远不会触及代码。
开发依赖项的示例是测试实用程序,如 mocha
或 jest
。 对于那些类型的依赖,我们可以这样安装它们,并将它们添加到我们的 package.json
的 devDependencies
部分:
# With NPM $ npm install --save-dev mocha # Shorthand version $ npm i -D mocha # With Yarn $ yarn add --dev mocha # Shorthand version $ yarn add -D mocha
将生产依赖项添加到项目
其他依赖项对应用程序至关重要,无论它是否是开发环境,都应始终安装。 我们将这些称为生产依赖项,并倾向于包含 express
或 react
之类的包。
将生产依赖项添加到项目与添加开发依赖项一样简单,但它将被添加到我们的 package.json
的 dependencies
部分:
# With NPM $ npm install --save express # Shorthand version $ npm i -P express # With Yarn $ yarn add express
全局安装包
有时您想在当前项目之外安装一个包,以便系统上的所有项目都可以使用它。 这些是全局安装的,非常适合还包含您希望与其他命令行实用程序一起运行的命令行实用程序的软件包:
# With NPM $ npm install --global json # Shorthand version $ npm i -g json # With Yarn $ yarn global add json
从项目中删除依赖项
在每个项目的生命周期中,都会有这样一个时刻,曾经看起来是个好主意的依赖关系不再有任何用途。 不要太难过,删除代码总是一件好事(假设你有适当的测试覆盖以确保你没有破坏任何东西)。
要从项目中删除开发或生产依赖项,我们只需卸载或删除它:
# With NPM $ npm uninstall jest # Shorthand version $ npm r jest # With Yarn $ yarn remove jest
这将从 node_modules
中删除一些东西,并从我们的 package.json
中删除依赖项。 根据您使用的任一命令的版本,您可能还会看到锁定文件的更新。
全局卸载包
删除一个全局安装的包与从项目中删除一个包是一样的,但是我们需要像安装它时一样传入全局参数:
# With NPM $ npm uninstall --global json # Shorthand version $ npm r -g json # With Yarn $ yarn global remove json