当前位置:网站首页>03-npm安装包详解,解决npm下载慢的问题,引入nrm等
03-npm安装包详解,解决npm下载慢的问题,引入nrm等
2022-08-11 05:17:00 【CapejasmineY】
一、包
1、为什么需要包
由于Node.js的内置模块仅提供了一些底层API,导致在基于内置模块进行项目开发时效率很低,包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率。
包和内置模块之间的关系,类似于jQuery和浏览器内置API之间的关系
2、从哪里下载包
查询包:https://www.npmjs.com/
下载包: https://registry.npmjs.org/
二、使用npm安装第三方包
npm install 包完整名称
npm i 包完整名称
例如:
npm i [email protected]
1、初次安装包后多了哪些文件
初次装包完成后,在项目文件夹下多一个叫做node_modules的文件夹和package-lock.json的配置文件。
其中:
- node_modules文件夹是用来存放所有已安装到项目中的包。require()导入第三方包时,就是从这个目录中查找并加载包。
- package-lock.json配置文件是用来记录目录下每一个包的下载信息,例如包的名字,版本号,下载地址等。
在项目根目录中创建一个叫package-lock.json的配置文件,即可以用来记录项目中安装的软件包,从而方便剔除node_modules目录之后在团队成员之间共享项目的源代码。
注意:今后在项目开发中,一定要把node_modules文件夹添加到.gitignore忽略文件中。
2、包管理配置文件
如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,建议把这些包安装到devDependencies节点
如果这些包在开发和项目上线之后都需要用,则建议把这些包记录到dependencies节点中。
3、npm安装包命令
- 开发人员下载包时使用:
#开发依赖包
npm i 包名 -D
//完整写法:
npm install 包名 --save-dev
#生产依赖
npm install -save 包名
或
npm install 包名
对应的包会记录到package-lock.json中的对应devDependencies或dependencies中。
- 项目部署到生成环境后,或测试人员下载时:
#只安装生成依赖包
npm i --production
- 全局包:
只有工具性质的包才有必要使用,建议根据官方问题提示确定是否需要全局安装。
npm i 包名 -g
三、npm下载包慢

默认情况下,使用国外npm包源下包慢
//查看当前的下包镜像源
npm config get registry
//切换镜像源
npm config set registry=https://registry.npm.taobao.org
四、nrm
为了更加方便的切换下包镜像源,我们可以安装nrm这个小工具,利用nrm提供的终端命令,快速查看和切换镜像源
#全局安装nrm
npm i nrm -g
#查看所有可用镜像源
nrm ls
#切换镜像源
nrm use taobao
边栏推荐
猜你喜欢

【win10+cuda7.5+cudnn6.0安装caffe①】安装cuda和cudnn

C语言自定义数据类型——联合体

简单做份西红柿炒蛋778

flaks framework learning: adding variables to the URL

软件测试风险识别

深入理解线程、进程、多线程、线程池

(三)性能实时监控平台搭建(Grafana+Prometheus+Node_explorer+Jmeter)

一张图带你解读--如何从零开始学习接口自动化

06-引入Express创建web服务器、接口封装并使用postman测试,静态资源托管

在项目中使用flex布局的justify-content:space-around;遇到的问题,(数量为单数)
随机推荐
普林斯顿概率论读本读书笔记(阅读中......)
c 指针学习(1)
[C language advanced] The first in-depth analysis of the storage of integer data in memory (1)
CSDN 社区内容创作规范
task05 PyTorch可视化
pytorch和tensorflow函数对应表
【分享】一个免费语料库
ClionIDE通过指定编译器编译
RK3399上的Tengine实践笔记
Summary: Cross Validation
自制病毒——整蛊
吃瓜教程task02 第3章 线性模型
看完这篇博客之后,含着泪学会了TCP/IP
【CSDN21天学习挑战赛】第一天,配置环境外加实现mnist手写数字识别
05-JS中的BOM和DOM
【C语言从初阶到进阶】第一篇 初始C语言(一)
04-开发自己的npm包及发布流程详细讲解
Flask框架学习:模板继承
flaks框架学习:在 URL 中添加变量
数组的用法