本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
本文主要内容:总结了npm与yarn的相关知识与使用技巧
npm
npm(全称 Node Package Manager,即“node包管理器”)是Node.js预设的、用JavaScript编写的软体套件管理系统。
以上是选自维基百科的对新手来说很不友好的定义
所以接下来我打算从npm存在的意义以及npm的主要使用方法两个方面来谈一谈
为什么要有npm
没有npm
在新手写一个只有最简单的html和javascript的网页时,自然是不会用到npm的,但是当项目开始逐渐变大,就会碰到一些前辈们已经写过的功能需求,这个时候就会需要使用已经写好的轮子。
最容易理解的方式,就是向前辈要来他们的代码然后复制粘贴到自己的代码里
当然在互联网的世界里,有着更先进的方式,以moment.js为例:
暂时不看右边先进的install方式,在没有npm的情况下,最普遍的思维方式就是download代码,然后引入,这样看来似乎也不是很困难
然而,这存在更新的问题,这些库都是有大佬专门维护的,每次更新都要重新下载导入。如果只有一个库还算能够接受,但是大型的项目依赖的库的数量是难以手动维护的,而npm就很好地解决了这个问题。
有了npm
首先是你可以较为轻松地实现库的安装,如安装moment.js就可以使用如下命令
npm install moment
这个命令会在你的执行目录下的node_modules文件夹中安装moment,并且会在package.json文件中添加如下类似的配置(主要是版本号可能不同)
"dependencies": {
"moment": "^2.29.4"
}
这里便是package.json文件配置这个项目需要的依赖文件的地方
于是就能引出npm另一个重要的功能,即可以根据package.json文件中dependencies和devDependecies中的配置,利用如下命令来实现依赖文件的安装
npm install // or npm i
这个在我实践中使用到的情景是:将本地写好的网站搭载到服务器上时,可以只上传除了node_modules文件夹以外的文件,然后再远程执行命令安装依赖,这样便能使网站顺利运行
如何使用npm
首先,既然npm是Node Package Manager,那么最先需要下载的便是node.js,下载完成后便能够使用npm在命令行界面来进行操作
基础命令在上文已经做出了一些介绍,下面就进行余下的补充:
npm init
这是在进行其他npm操作前需要最先执行的初始化操作,构建了项目的支架
它往往会展现如下的内容
- The project's name,
- The project's initial version,
- The project's description,
- The project's entry point (meaning the project's main file),
- The project's test command (to trigger testing with something like Standard)
- The project's git repository (where the project source can be found)
- The project's keywords (basically, tags related to the project)
- The project's license (this defaults to ISC - most open-source Node.js projects are
而上述所有的输入,你可以直接按enter表示默认。当完成了初始化,就可以看到package.json文件了
npm install <module>
这是安装库文件的命令,可以简写为npm i
上文已经提到这条命令会在package.json文件中添加一条dependencies的配置,然而实际上添加的位置由install后的--save决定,而--save-dev则会添加一条devDependencies的配置
yarn
在了解了npm后,我们可以简单地将yarn理解为更快捷、更安全、更可靠的npm
首先自然是安装:npm install --global yarn
而其他的语法与npm相似:
| npm | yarn |
|---|---|
| npm init | yarn init |
| npm install <module> | yarn add [package] |
| npm install | yarn or yarn install |