注册一个 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 包的方法,不懂得也可以在评论区里问我,以后会持续发布一些新的功能,敬请关注。