npm与包的应用

160 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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