注册一个 npm 账号
去官网 https://www.npmjs.com/ 注册一个账号
新建一个项目
在本地创建一个文件夹,然后进入终端
注意:文件夹的名称不能和已经发布包的名称重复,发布之前先到 npm 里搜索一下创建的文件夹名,查看名称是否重复。
创建一个 package.json 文件,内容为:
{
"name":"wsh-tools", // 发布包的名称
"version": "1.0.0", // 模块的版本
"main": "index.js", // 应用程序的入口文件
"description": "提供了格式化时间、HTMLEscape相关的功能", // 模块文字说明
"keywords": ["itheima","dateFormat","escape"], // 出现在 npm search 中的关键字
"license": "ISC" // 开源协议
}
- 创建包的入口文件,打开文件夹创建一个 index.js 文件,内容为:
// 这是包的入口文件
const date = require('./dateFormat')
const escape = require('./htmlEscape')
// 向外暴露需要的成员
module.exports = {
...date,
...escape
}
创建主逻辑代码
dateFormat 文件:
// 定义格式化时间的函数
function dateFormat(dataStr) {
const dt = new Date(dataStr)
const y = dt.getFullYear()
const m = padZeor(dt.getMonth() + 1)
const d = padZeor(dt.getDate()
)
const hh = padZeor(dt.getHours())
const mm = padZeor(dt.getMinutes())
const ss = padZeor(dt.getSeconds())
return `${y}年${m}月${d}日 ${hh}:${mm}:${ss}`
}
// 定义一个补零的函数
function padZeor(n) {
return n > 9 ? n : '0' + n
}
module.exports = {
dateFormat
}
htmlEscape文件:
// 定义转义 HTML 字符的函数
function htmlEscape(htmlstr) {
return htmlstr.replace(/<|>|"|&/g, match => {
switch (match) {
case '<':
return '<'
case '>':
return '>'
case '"':
return '"'
case '&':
return '&'
}
})
}
// 定义还原 HTML 字符串的函数
function htmlUnEscape(str) {
return str.replace(/<|>|"|&/g, match => {
switch (match) {
case '<':
return '<'
case '>':
return '>'
case '"':
return '"'
case '&':
return '&'
}
})
}
module.exports = {
htmlEscape,
htmlUnEscape
}
创建 README.md 文件,内容为:
### 安装
```
npm install wsh-tools
```
### 导入
```js
const wsh = require("wsh-tools");
```
### 格式化时间
```js
// 调用 dateFormat 对时间进行格式化
const dtStr = wsh.dateFormat(new Date());
// 结果 2022年10月12日 20:28:36
console.log(dtStr);
```
### 转义 HTML 中的特殊字符
```js
// 待转换的 HTML 字符串
const htmlStr = '<h1 title="abc">这是h1标签 </h1>';
// 调用 htmlEscape 方法进行转换
const str = wsh.htmlEscape(htmlStr);
// 转换的结果 <h1 title="abc">这是h1标签&nbsp</h1>
console.log(str);
```
### 还原 HTML 中的特殊字符
```js
// 待还原的 HTML 字符串
const str2 = wsh.htmlUnEscape(str);
// 输出的结果 <h1 title="abc">这是h1标签 </h1>
console.log(str2);
```
### 开源协议
ISC
创建完成需要发布的 npm 包后,进入新建项目的终端
- 登录 npm 账号
依次输入,用户名,密码,邮箱号
密码在终端中不显示,正常写就行
回车后需要填写 邮箱发送的验证码
npm login
- 发布包
把终端切换到要发布包的根目录上
要发布包的名字不能相同
npm publish
此时在个人 npm 页面 可以看到此包
以上就是 node.js 中 发布 npm 包的方法,不懂得也可以在评论区里问我,以后会持续发布一些新的功能,敬请关注。
我的其他文章:https://blog.csdn.net/weixin_62897746?type=blog