持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情
包
前言
包不是node.js中的内置模块,是由第三方个人或团队开发出来的。免费提供所有人使用
注意:node.js中的包都是免费的
为什么需要包
使用先一级的api 基于内置模块封装出来的,类似于JQ
哪里下载包
搜索你需要的包npm (npmjs.com) 下载包registry.npmjs.org - npm
npm 初体验
打开控制台,切换到指定目录 通过 npm i 名称 来引入指定名称的包
引入包
npm i moment
定义一个格式化时间的方法
//通过这种方式导入内容涵盖
const moment = require('moment')
//调用包的内容 赋值给dt
const dt = moment().format('YYYY-MM-DD HH-MM-SS');
console.log(dt)
怎么知道如何使用包
npm (npmjs.com) 通过搜索查看文档就可以查看如何使用包
装包后多了那些文件
node_modules 文件夹来存放已安装到项目中的包 package-lock.jsom 配置文件来记录node_modules目录下的每一个包的下载信息
安装指定版本的包
通过npm i 命令安装包时会安装最新版本的包
//安装版本号为2.22.2的moment包
npm i moment@2.22.2
包的语义化版本规范
每一位数组所代表的含义如下 :
- 第一位数 : 大版本
- 中间两位 :功能版本
- 第三位数字 : bug修复版本
版本号的提升规则 : 前面的版本增加了 后面的版本号归零
包管理工具配置文件
多人协作问题
因为包所占字节太大,所以我们在上传到git时应该剔除node_modules目录同时创建一个叫package.json的配置文件来记录都用到了那些包
快速创建package.json文件
npm工具中有快捷命令,可以在执行命令的目录中创建package.json文件
npm init -y
注意 :
- 只能在英文目录下才能运行
dependencies节点
dependencies节点是在package.json中出现的里面记录了所下载的包的名称以及版本号
一次性安装所有的包
拿到别人的项目后,没有安装指定的包而直接运行,会报错,只有安装需要的包才能正常运行。
通过npm install 或npm i 命令来安装所有的包
卸载包
npm uninstall 卸载包 不能简写
npm install moment
卸载成功后会自动将其在node_modules里面删除
devDependencies节点
在项目上线之后不会用到的建议放在devDependencies节点里 如果开发和上线之后都要用到建议放在dependencies节点下
使用这两条指令可以将指定名称的包安装到devDependencies节点里
npm i 名称 -D
npm i 名称 --save-dev
解决下包速度慢的问题
淘宝NPM镜像服务器
淘宝npm镜像服务器会定时同步npm官方服务器的包同步到镜像服务器内
//查看当前的下包镜像源 npm config get register //将包的镜像源却换到淘宝的镜像源 npm config set register=registry.npm.taobao.org/ //建材镜像源是否下载成功 npm config get register
nrm
安装nrm 这个小工具 可以使用nrm的终端命令来查看和切换包的镜像源
npm i nrm -g nrm ls nrm use taobao