Skip to content

Latest commit

 

History

History
131 lines (84 loc) · 3.25 KB

12.md

File metadata and controls

131 lines (84 loc) · 3.25 KB

npm和包

[toc]

不同于node.js中的内置模块与自定义模块,==包是第三方个人或者团队开发出来的==,免费供所有人使用

注意:node.js中的包都是免费和开源的,不需要付费即可免费使用的

node.js的内置模块仅仅提供了底层的API,导致在基于内置模块进行项目开发的时候,效率很低

包是基于内置模块封装出来的,提供了更高级的、更方便的API,极大的提高了开发效率

从哪里下载包?

npm是全球最大的包共享包平台

提供的包管理工具Node package Manager(简称npm包管理工具),这个包管理工具随着node.js的安装包一起被安装到了用户的电脑上。

我们在使用这个包的时候,需要将其下载

在项目中安装包的命令:

npm install 包的完整名称

可以简写为:

npm i 包的完整名称

image-20220425221025529

使用包

官方网站npmjs.com

//1.导入需要的包,就是安装包的名称
const moment = require('moment')
//一般使用包的名称常量来接收

//此时参考官网文档进行使用
const dt = moment().format('YYY-MM-DD HH:mm:ss')
console.log(dt)

编译:

222022-04-25 22:18:02

安装包后的其他

多了哪些文件

初次安装包后,在项目文件夹下面多了一个叫node_modules的文件夹和package-lock.json的配置文件

d-----         2022/4/25     22:09                node_modules
d-----         2022/4/25     22:17                sasf
-a----         2022/4/25     22:17            235 http.js
-a----         2022/4/25     22:09            734 package-lock.json
-a----         2022/4/25     22:09             52 package.json

node_modules文件夹:存放所有已经安装到项目中的包,require()导入第三方包时,就是从这个目录中查找并且加载包

package-lock.json配置文件用来记录node_modules目录下的每一个包的下载信息,如包的名字,版本号,下载地址等。

{
  "name": "node.js",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "dependencies": {
        "moment": "^2.29.3"
      }
    },
    "node_modules/moment": {
      "version": "2.29.3",
      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
      "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
      "engines": {
        "node": "*"
      }
    }
  },
  "dependencies": {
    "moment": {
      "version": "2.29.3",
      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
      "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="    }
  }
}

注意:程序员不要手动修改node_modules或package-lock.json文件中的任何代码,npm包会自动维护他们

如果需要修改版本号:

npm i moment@版本号

包的版本语义

  • 第一个数字:大版本
  • 第二个数字:功能版本
  • 第三个数字:bug修复版本

版本号提升的规则:只要前面的版本号增长了,则后面的版本号归零