Node.js基础---npm与包

概念:Node.js 中的第三方模块又叫做包

来源:由第三方个人或团队开发出来的,免费使用,且为开源

为什么需要:Node.js的内置模块只有一些底层API,开发效率低

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

包和内置模块之间的关系,类似于 JQuery 和 浏览器内置API 之间的关系

下载: https://www.npmjs.com/ 全球最大包共享平台 ---搜索

https://registry.npmjs.org/ ---下载

使用包管理工具 npm (查看版本号:在终端执行npm-v

npm

格式化时间传统做法:

使用npm包实现

安装包

安装指定包

npm install 包的完整名称

简写 npm i xxxx

初次安装包,多的文件有两个 node_modules 的文件夹和 package-lock.json 的配置文件

node_modules 文件夹 用来存放所有已安装到项目的包

package-lock.json 配置文件 记录 node 文件夹目录下每个包的下载信息(包的名字、版本号、下载地址)

注意:不需要改动文件内代码!!!

安装指定版本

默认情况是安装最新版本,如果需要安装指定版本 需要在包名后通过**@**符号指定具体版本

npm i xxxx@3.33.3

语义化版本规范

版本号是以 点分十进制 形式定义 总共三位,例如:2.24.1

每一位数字代表含义如下:1、大版本 2. 功能版本 3. Bug修复版本

包管理配置文件

npm规定在项目根目录,必须要有 package.json 的包管理配置文件,记录与项目有关的配置信息。如:

1. 多人协作

团队项目中 node_modules 体积过大,不方便共享源代码

解决方法:共享时剔除 node_modules 文件夹

2. 如何记录项目安装的包

项目根目录,创建 package.json 文件,记录

注意:项目开发,把 node_modules 添加到 .gitignore 忽略文件内

3. 快速创建 package.json文件

快捷命令,执行命令所处的目录

npm init -y

注意:1. 命令只能在英文目录下,项目文件夹名不能有中文和空格

  1. 安装包时会自动把信息加入package内

4. dependencies 节点

专门记录安装过那些包

5. 一次性安装所有包

拿到一个剔除了 node_modules 的项目,首先要把依赖的包下载下来

npm install 或 npm i 下载全部的包

6. 卸载包

npm uninstall xxxx(包名)

注意:执行成功后 package.json 内对应的信息也会去除

7. devDependencies 节点

只在开发阶段用到的包,建议记录到 devDependencies 节点

在开发和上线都要用到的,建议记录到 dependencies 节点

使用如下命令记录到 dev...

npm i 包名 -D 简写

npm install 包名 --save-dev 完整写法

解决下包速度慢问题

原因:npm 在国外...

解决方法:淘宝NPM镜像服务器

切换npm下包镜像源:

bash 复制代码
# 查看当前下包镜像源
npm config get registry
# 切换为淘宝镜像源
npm config set registry=https://registry.npm.taobao.org、
# 检查是否成功
npm config get registry

nrm工具快速切换镜像源

包的分类

项目包

被安装到 node_modules 的包

分两类:

开发依赖包(开发期间用)

核心依赖包(开发线上都用)

全局包

执行 npm i 时,提供 -g 参数,则安装的是全局包

会安装到c盘下

安装和卸载和之前一样 但要在后面加上 -g

注意:工具性质的包才有全局安装的意义,因为提供了好用的终端命令

看官方文档判断是否需要全局安装才能使用

i5ting_toc

可以把 md 文档转换成 html文件的小工具

规范的包结构

开发属于自己的包

1. 需要实现的功能

2. 初始化包的基本结构

  1. 新建文件夹为根目录

  2. 新建三个文件(管理配置,入口文件,说明文档)

3. 初始化 package.json

4. 在index.js定义方法

5. 将不同的功能进行模块化拆分

6. 编写包的说明文档

包含:安装方式、导入方式、对应封装的功能、开源协议...

发布包

1. 注册 npm 账号

2. 登录 npm 账号

注册完成后,在终端内执行 npm login 命令

依次输入 用户名、密码、邮箱后登录成功

注意:在运行命令前要把下包的服务器切换成 npm 官方

3. 把包发布到 npm 上

将终端切换到根目录,运行 npm publish,即可发布(包名不能雷同)

4. 删除已发布的包

运行 npm unpublish 包名 --force,即可删除

注意:

相关推荐
真的很上进11 分钟前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
web1309332039817 分钟前
vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法
前端·vue.js·elementui
NiNg_1_23438 分钟前
Echarts连接数据库,实时绘制图表详解
前端·数据库·echarts
如若1231 小时前
对文件内的文件名生成目录,方便查阅
java·前端·python
滚雪球~2 小时前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语2 小时前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
supermapsupport2 小时前
iClient3D for Cesium在Vue中快速实现场景卷帘
前端·vue.js·3d·cesium·supermap
brrdg_sefg2 小时前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全
胡西风_foxww2 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
m0_748254882 小时前
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
前端·vue.js·elementui