• 03-npm安装包详解,解决npm下载慢的问题,引入nrm等


    一、包

    1、为什么需要包

    由于Node.js的内置模块仅提供了一些底层API,导致在基于内置模块进行项目开发时效率很低,包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率。
    包和内置模块之间的关系,类似于jQuery和浏览器内置API之间的关系

    2、从哪里下载包

    查询包:https://www.npmjs.com/
    下载包: https://registry.npmjs.org/

    二、使用npm安装第三方包

    npm install 包完整名称
    npm i 包完整名称
    
    
    例如:
    npm i moment@2.22.2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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 包名 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    对应的包会记录到package-lock.json中的对应devDependencies或dependencies中。

    • 项目部署到生成环境后,或测试人员下载时:
    #只安装生成依赖包
    npm i --production
    
    • 1
    • 2
    • 全局包:

    只有工具性质的包才有必要使用,建议根据官方问题提示确定是否需要全局安装。

    npm i 包名 -g 
    
    • 1

    三、npm下载包慢

    在这里插入图片描述

    默认情况下,使用国外npm包源下包慢

    //查看当前的下包镜像源
    npm config get registry
    //切换镜像源
    npm config set registry=https://registry.npm.taobao.org
    
    • 1
    • 2
    • 3
    • 4

    四、nrm

    为了更加方便的切换下包镜像源,我们可以安装nrm这个小工具,利用nrm提供的终端命令,快速查看和切换镜像源

    #全局安装nrm
    npm i nrm -g
    #查看所有可用镜像源
    nrm ls
    #切换镜像源
    nrm use taobao
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    2023年蓝帽杯取证复现
    【PAT甲级 - C++题解】1048 Find Coins
    C语言算术随笔
    对某钓鱼样本分析
    初识Spring框架及其特点
    sql数据类型,约束以及单表查询
    作业工时数据分析怎么做?如何进行作业工时数据分析
    vue3 弹窗开发之三,完善版
    thinkphp websocket 开发实时聊天系统的用户群组与订阅功能实现 (一)
    搭建个人知识付费应用系统-(6)Sanity 集成
  • 原文地址:https://blog.csdn.net/CapejasmineY/article/details/126250931