6.npm

目录

1  下载包

2  下载包非最新的版本

3  package.json

4  一次安装多个包

5  删除 node_modules

6  一次安装项目中的所有包

7  卸载包

8  将包放入devDependencies中

9  换源

9.1  手动换源

9.2  工具换源

10  全局下载

10.1  下载与卸载

10.2  一些常用的全局包


你可以在这里找到你想要的包 npm

比如我们想找jQuery,那么我们就搜索jQuery

一般我们不从这个网站上手动下载,更多的是查文档

我们一般用npm下包,npm(Node Package Manager)是Node是包管理工具,随着Node.js一起安装在电脑上,可以在终端中输入npm -v 查看npm的版本

npm可以理解为python中的pip。Node与python在环境上的理解是不太相同的,我们下面下载的时候可以看出来

1  下载包

我们现在下载一个可以操作时间的包 moment,首先先代码的同级目录下打开一个终端(cmd,powershell都行)

输入npm install moment

  • 可以简写为 npm i moment,后面说的npm install都可以简写为npm i
  • 有的包名称是带@与/的,我们就和普通的包一样用就行了,比如 @vue/cli,这种包叫作用域包,主要目的是为了不与别人的包重名

之后我们会在代码的同级目录中找到这三个文件,这三个文件实则就是Node的环境。

如果缺失这三个文件那么环境就用不了了。

你在这个项目中装了moment,但你在别的地方没有这三个文件,那你也用不了moment

  • Node也可以进行全局安装,我们先不考虑全局安装的情况

下载后的包都放在node_modules中

我们不需要自己改动下载好的文件,npm会自动维护它们

有环境就可以使用moment了,我们写一个代码

如果没安装moment是用不了的

安装后可以成功运行

2  下载包非最新的版本

默认情况下会下载最新版本的包,如果你想安装指定的版本可以在要下载的包后面加上@版本号

比如我现在想下载 2.22.2 版的 moment

  • 重新下载会替代你上一次的下载

你可以在package-lock.json或package.json中查看你当前用的是什么版本

版本号一般来讲是这个意思,比如 4.25.3 这个版本号,4如果变动了就是大变动,25如果动了就是改动了什么功能,3如果动了就是改了改之前版本的bug

只要前面的版本号发生变动,后面的版本号应该归零

3  package.json

我们在分享项目的时候一般不分享 node_modules 这个文件夹(把node_modules加入.gitignore),为了表明我们当前的项目都需要什么包,一般我们使用package.json

目前的node自动创建package.json这个文件,没创建不耽误使用,如果想创建可以在终端输入 npm init -y 进行创建(路径不能包含中文,不能包含空格)

手动创建的package.json会相较于自动创建的package.json多一些信息

自动创建只有包的信息,手动创建会加上项目的一些信息

dependencies里面放的是安装了什么包,如果没进行安装直接创建package.json是不会有dependencies的

4  一次安装多个包

包之间打上空格就行了,比如 npm install jquery art-template

5  删除 node_modules

右键删除会出现这种问题

任意打开一个终端,然后输入 npm install rimraf -g

  • 全局安装,在哪里打开都行

然后找到你想要删除的 node_modules ,终端进入它的同级目录,然后输入 rimraf node_modules

执行完了发现 node_modules 没有了

6  一次安装项目中的所有包

我现在需要这三个包

node_modules之前让我删了,现在我想下载回来,我们直接在有package.json的目录下输入 npm install 就可以了

下载好后就发现node_modules重新出现在文件夹中了

下载好后可以成功执行之前的代码

7  卸载包

比如我想卸载jquery,那么就输入 npm uninstall jquery

卸载之后package.json的内容会发生改变

8  将包放入devDependencies中

如果这个包只在开发阶段会用到,上线后不会用到,那么建议将这个包放入 devDependencies 中

  • 在刚创建package.json的时候会出现devDependencies,后面npm如果看你这个是空的就会把devDependencies删了

刚才我们删除了jquery,现在我们将其装在devDependencies中,输入 npm install jquery -D

  • 输入 npm install jquery --save-dev 同样生效
  • 包名与-D顺序可以颠倒 npm install -D jquery 同样生效

安装过后,发现jquery在package.json中的devDependencies出现

9  换源

9.1  手动换源

我们之前都是在国外的服务器上下载,小的包还行,一些大的包会比较慢,这个时候我们可以不在国外的服务器上下载,在国内的服务器上下载会快一些

我们先输入 npm config get registry 查看当前的源是什么

我当前是node的官方源,现在我们将其改为淘宝源 npm config set registry=https://registry.npm.taobao.org/

再次查看源的状态发现更换成功

9.2  工具换源

我们可以使用nrm换源,nrm是管理这些源的工具。首先先下载nrm

可以通过nrm ls 查看所有可用的镜像源

如果你想用淘宝的,你就输入nrm use taobao 就可以了

如果出现禁用脚本这种错误,可以用管理员打开power shell,然后执行 set-ExecutionPolicy RemoteSigned 之后再按Y就好了

nrm : 无法加载文件 C:\Users\Aha\AppData\Roaming\npm\nrm.ps1,因为在此系统上禁止运行脚本。_一周七喜h的博客-CSDN博客

10  全局下载

10.1  下载与卸载

有一些包是作为工具用的,你有的时候会在多个项目中开发时用到,但项目本身并不需要这些包,比如nrm,rimraf,我们在npm install 后加入-g就可以进行全局安装了,比如npm install nrm -g

全局包默认被安装在 C:\Users\用户目录\AppData\Roaming\npm\node_modules 下

如果要卸载全局包同样要加上-g ,现在我们想卸载cnpm这个全局包

我们我们输入 npm uninstall cnpm -g

10.2  一些常用的全局包

  • nrm 源管理工具
  • rimraf 删除node_modules
  • i5ting_toc 将md文档转为html页面
  • nodemon 改动代码后重新启动代码 https://www.bilibili.com/video/BV1a34y167AZ/?p=41
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值