开发并发布依赖包,作为工具包供别人npm|开发并发布依赖包,作为工具包供别人npm install
1.初识包及 npm
包的概念:
nodejs 中的第三方模块叫包
不同于 nodejs 中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用
nodejs 中的包都是免费开源的,不需要付费即可免费下载使用
为什么需要包
由于 nodejs 的内置模块仅仅提供了一些底层的 API,导致在基于内置模块进行项目开发的时候,效率很低
包是基于内置模块封装出来的,提供了更高级,更方便的 API,极大的提高开发效率
包和内置模块之间的关系,类似于 jQuery 和浏览器内置 API 之间的关系
包从哪里下载
npm,Lnc.公司旗下的著名网站
https://www.npmjs.com/ 这个网站搜索需要的包
全球最大的包共享平台,你可以从这个网站上搜索到任何你需要的包
npm,Lnc.公司提供一个服务器地址,共享所有的包
https://registry.npmjs.org/ 这个服务器地址可以下载需要的包
如何下包
npm,Lnc.公司提供一个包管理工具
下载 xxx 包
npm install xxx
2.解决下包速度慢的问题 npm 设置镜像源 查看当前下包镜像源
npm config get registry
将下包镜像源切换到淘宝镜像源
npm config set registry=https://registry.npm.taobao.org/
查看
nrm 切换 npm 下包镜像源 nrm 安装
将 nrm 安装为全局可用的工具
npm i nrm -g
查看所有 npm 镜像源
nrm ls
将镜像源切换到 taobao 镜像
nrm use taobao
3.自定义 npm 包,以及包的发布 自定义 npm 包 自定义 npm 包目录结构
|---src
|------dateFormat.js
|------escapeHTML.js
|---index.js
|---package.json
|---readme.md

文章图片
package.json
{
"name": "gyc_tools",
"version": "1.0.0",
"main": "index.js",
"description": "格式化时间,HTMLEscape功能",
"keywords": ["gyc", "dateForm", "escape"],
"license": "ISC"
}
"name": "gyc_tools", // 包的名字
"version": "1.0.0", // 包的版本
"main": "index.js", // 包的入口文件
"description": "格式化时间,HTMLEscape 功能", // 包的功能描述
"keywords":["gyc","dateForm","escape"], // 包的关键字
"license": "ISC" // 包的开源协议
index.js
const date = require('./src/dateFormat')
const escape = require('./src/escapeHTML')
module.exports = {
...date,
...escape,
}
【开发并发布依赖包,作为工具包供别人npm|开发并发布依赖包,作为工具包供别人npm install】README.md
## 安装npm i gyc-tools## 导入const gyc = require('gyc-tools')## 格式化时间// 调用 dateFormat 对时间进行格式化
const dtstr = gyc.dateFormat(new Date())
// 结果 2022-02-00 16:18:51
console.log(dtstr)## 转义 HTML 中的特殊字符// 调用 htmlEscape 方法进行转换
const str = gyc.htmlEscape(hrmlStr)
// 结果<
h1 title="
abc"
>
这是 h1 标签<
span>
这是 span 标签 123 &
nbsp;
<
/span>
<
/h1>
console.log(str)## 还原 HTML 中的特殊字符// 调用 htmlUnEscape 方法进行还原
const str2 = gyc.htmlUnEscape(hrmlStr)
// 结果这是 h1 标签这是 span 标签 123
console.log(str2)## 开源协议ISC
推荐阅读
- Delphi|RAD Studio Delphi C++ Builder 2020年11月开发路线图PPT(研发Delphi WebAssembly编译器)
- 开发工具|总体上说,是c++ builder胜于VC++,DELPHI是最好
- 开发语言|C++ Builder与Visual C++孰优孰劣
- 苹果、微软、Google|苹果、微软、Google 和 Mozilla 共同合作,改进跨浏览器的扩展开发
- 11|11 个对开发有帮助的 JS 技巧
- 如何理解快速排序和归并排序
- 浅议开发者面临的信息偏差影响因素
- Vue3|Vue3 如何实现全局异常处理()
- 开发微信小程序这些你肯定需要了解
- 2022武汉中科创达技术面试(C++开发工程师)