node.js 学习入门(06 - 发布自己的 npm 包)

简介: node.js 学习入门(06 - 发布自己的 npm 包)

注册一个 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 '&lt;'
            case '>':
                return '&gt;'
            case '"':
                return '&quot;'
            case '&':
                return '&amp;'
        }
    })
}
// 定义还原 HTML 字符串的函数
function htmlUnEscape(str) {
    return str.replace(/&lt;|&gt;|&quot;|&amp;/g, match => {
        switch (match) {
            case '&lt;':
                return '<'
            case '&gt;':
                return '>'
            case '&quot;':
                return '"'
            case '&amp;':
                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标签&nbsp</h1>';
  // 调用 htmlEscape 方法进行转换
  const str = wsh.htmlEscape(htmlStr);
  // 转换的结果   &lt;h1 title=&quot;abc&quot;&gt;这是h1标签&amp;nbsp&lt;/h1&gt;
  console.log(str);
  ```
  ### 还原 HTML 中的特殊字符
  ```js
  // 待还原的 HTML 字符串
  const str2 = wsh.htmlUnEscape(str);
  // 输出的结果   <h1 title="abc">这是h1标签&nbsp</h1>
  console.log(str2);
  ```
  ### 开源协议
  ISC

创建完成需要发布的 npm 包后,进入新建项目的终端

  • 登录 npm 账号
    依次输入,用户名,密码,邮箱号
    密码在终端中不显示,正常写就行
    回车后需要填写 邮箱发送的验证码
npm login
  • 发布包
    把终端切换到要发布包的根目录上
    要发布包的名字不能相同
npm publish

此时在个人 npm 页面 可以看到此包

以上就是 node.js 中 发布 npm 包的方法,不懂得也可以在评论区里问我,以后会持续发布一些新的功能,敬请关注。

相关文章
|
28天前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
5天前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
6天前
|
JavaScript 前端开发 API
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
该文章跟随月影老师的指导,探讨了编写优质JavaScript代码的三大原则:各司其职、组件封装与过程抽象,通过具体示例讲解了如何在实际开发中应用这些原则以提高代码质量和可维护性。
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
|
9天前
|
移动开发 前端开发 HTML5
Twaver-HTML5基础学习(8)拓扑元素(Element)_网元(Element)、节点(Node)
本文介绍了Twaver HTML5中的拓扑元素(Element),包括网元(Element)、节点(Node)和连线(Link)的基本概念和使用方法。文章详细解释了Element的属性和方法,并通过示例代码展示了如何在React组件中创建节点、设置节点属性和样式。
20 1
Twaver-HTML5基础学习(8)拓扑元素(Element)_网元(Element)、节点(Node)
|
4天前
|
JavaScript 前端开发 Oracle
软件工程师,学习下JavaScript ES6新特性吧
软件工程师,学习下JavaScript ES6新特性吧
24 9
|
5天前
|
JavaScript 前端开发 算法
紧跟月影大佬的步伐,一起来学习如何写好JS(下)
该文章延续了上篇的内容,进一步探讨了编写优秀JavaScript代码的实践,强调了代码风格一致性、性能优化、团队约定的重要性,并通过实际案例分析了如何在不同场景下写出合适的代码。
|
1月前
|
存储 JavaScript
Nodejs的npm包管理器快速入门
介绍Node.js的npm包管理器的快速入门,包括包的概念、结构、描述文件、npm常用命令如安装、搜索、移除软件包,以及如何处理常见的npm工具部署错误。
24 2
Nodejs的npm包管理器快速入门
|
2月前
|
JSON 前端开发 JavaScript
|
21天前
|
存储 JSON JavaScript
学习node.js十三,文件的上传于下载
学习node.js十三,文件的上传于下载
|
2月前
|
JavaScript 前端开发 iOS开发
学习强大的JavaScript一行代码,能够节省你的时间和代码量
这段内容介绍了25个实用的JavaScript一行代码技巧,涵盖复制内容到剪贴板、打乱数组、颜色值转换、计算平均值、检查数字奇偶性、数组去重、对象为空检测、字符串反转、日期计算、首字母大写、生成随机字符串、四舍五入、清除Cookie、检测暗黑模式等,帮助开发者提高效率并简化代码。
26 2

推荐镜像

更多
下一篇
无影云桌面