目录
npm login:登录npm账号
npm publish:发布包到npm上
npm unpublish 包名 --force:从npm删除已发布的包
1初始化基础的包结构
1.1初始化包结构
新建itheima-tools文件夹,作为包的根目录,在itheima-tools文件夹中,新建如下三个文件:
- package.json(包管理配置文件)
- index.js(包的入口文件)
- README.md(包的说明文档)
1.2初始化package.json
{
"name": "itheima-tools",
"version": "1.0.0",
"main": "index.js",
"description": "提供了格式化时间,HTMLEscape的功能",
"keywords": ["itheima", "dateFormat", "escape"],
"license": "ISC"
}
1.3在index.js中定义初始化时间的函数
1.4转义html中的特殊字符
为了防止用户在提交表单的时候提交一些html的标签。
在index.js中定义转义html的方法
function htmlEscape(htmlStr) { return htmlStr.replace(/<|>|"|&/g, (match) => { switch (match) { case '<': return '<' case '>': return '>' case '"': return '"' case '&': return '&' } }) }
在index.js中定义还原html的方法
function htmlUnEscape(str) { return str.replace(/<|>|"|&/g, (match) => { switch (match) { case '<': return '<;' case '>': return '>;' case '"': return '";' case '&': return '&;' } }) }
2将不同的功能进行模块化拆分
- 将格式化时间的功能,拆分到src -> dateFormat.js 中
- 将处理HTML字符串的功能,拆分到src -> htmlEscape.js 中
- 在index.js中,导入两个模块,得到需要向外共享的方法
- 在index.js中,使用module.exports把对应的方法共享出去
3编写包的说明文档
包根目录中的README.md 文件,是包的使用说明文档。通过它,我们可以事先把包的使用说明,以markdown的格式写出来,方便用户参考。包含6个部分:安装方式、导入方式、格式化时间、转义HTML中的特殊字符、还原HTML 中的特殊字符、开源协议
## 安装
```
npm install itheima-tools
```
## 导入
```js
const itheima = require('./index.js')
```
## 格式化时间
```js
// dateFormat对时间进行格式化
const dtStr = itheima.dateFormat(new Date())
// 结果 2022-04-08 00:06:02
console.log(dtStr)
```
## 转义HTML中的特殊字符
```js
// 待转换的html字符串
const htmlStr = '<h1 title="abd">这是h1标签<span>123 </span></h1>'
// 调用htmlEscape方法进行转换
const str = itheima.htmlEscape(htmlStr)
// 结果 <h1 title="abd">这是h1标签<span>123&nbsp</span></h1>
console.log(str)
```
## 还原HTML中的特殊字符
```js
// 调用htmlUnEscape方法进行还原
const str2 = itheima.htmlUnEscape(htmlStr)
// 结果 <h1 title="abd">这是h1标签<span>123 </span></h1>
console.log(str2)
```
## 开源协议
ISC
4发布包
4.1注册npm账号
- 访问https://www.npmjs.com/网站,点击 sign up按钮,进入注册用户界面
- 填写账号相关的信息:Full Name、Public Email、Username、Password
- 点击Create an Account按钮,注册账号
- 登录邮箱,点击验证链接,进行账号的验证
4.2在终端进行登录
npm账号注册完成后,可以在终端中执行npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。(注意:在运行npm login命令之前,必须先把下包的服务器地址切换为npm的官方服务器。否则会导致发布包失败!)
4.3把包发布到npm 上
将终端切换到包的根目录之后,运行npm publish 命令,即可将包发布到npm上(注意:包名不能雷同)发布完之后可以去官网上登录查看。
成功发布一个包!!!
4.4删除已发布的包
运行npm unpublish包名--force命令,即可从npm 删除已发布的包。
注意:
- npm unpublish命令只能删除72小时以内发布的包
- npm unpublish删除的包,在24小时内不允许重复发布
- 发布包的时候要慎重,尽量不要往npm上发布没有意义的包!