码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 03-npm安装包详解,解决npm下载慢的问题,引入nrm等


    文章目录

    • 一、包
    • 1、为什么需要包
    • 2、从哪里下载包
    • 二、使用npm安装第三方包
      • 1、初次安装包后多了哪些文件
      • 2、包管理配置文件
      • 3、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
  • 相关阅读:
    快应用接入帐号服务指导
    是谁制造了TikTok的商业化困境?
    2024前端面试题之Vue3
    【Vue篇】Vue 项目下载、介绍(详细版)
    第八章——权限管理与备份
    2022年湖北省中国专利奖申报条件以及认定流程(附奖项设置解析)
    论文笔记 - SIMILAR: Submodular Information Measures Based Active Learning In Realistic Scenarios
    酒水展示预约小程序的效果如何
    OPenSSL-生成证书
    如何搭建测试环境?(详解)
  • 原文地址:https://blog.csdn.net/CapejasmineY/article/details/126250931
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号