[Node]制作一个node包并且传到npm仓库,并把md文件转化为html
2022/1/23 20:08:10
本文主要是介绍[Node]制作一个node包并且传到npm仓库,并把md文件转化为html,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 背景
- 步骤
- 导入
- 代码片段
- 格式化代码
- 具体代码
- 拆分
- 发布
- 补充知识
- md转化为html
背景
开发一个自己的包的步骤,以my-tools为例子
步骤
- 新建一个文件,eg:my-tools
先去https://www.npmjs.com/查询自己命名自的保名字是否有重复的) - npm init -y 初始化文件夹,生产package.json文件,并填写参数
name是包的名字
main是包的入口文件
description报的描述
keywords是使用时的关键字
license是包遵循的协议
- 创建index.js和readme.md文件,至此文件目录搭建完毕
前者入口文件,后者是包的说明
导入
const mytools = require('./my-tools/index')
代码片段
格式化代码
readme.md
具体代码
index.js
//格式化时间 // 1. 定义格式化时间的方法 function dateFormat(dtStr) { const dt = new Date(dtStr) console.log(dt) const y = dt.getFullYear() const m = padZero(dt.getMonth() + 1) const d = padZero(dt.getDate()) const hh = padZero(dt.getHours()) const mm = padZero(dt.getMinutes()) const ss = padZero(dt.getSeconds()) return `${y}-${m}-${d} ${hh}:${mm}:${ss}` } //补零 function padZero(n) { return n > 9 ? n : '0' + n } //转义html //replace(正则,替换的格式) //正则里面,|表示或,g表示全局 function htmlEscape(htmlStr) { return htmlStr.replace(/<|>|"|&/g, (match) => { switch (match) { case '<': return 'A' case '>': return 'B' case '"': return 'CC' case '&': return 'DDDDD' } }) } //还原html function htmlUnEscape(str) { return str.replace(/A|B|CC|DDDDD/g, (match) => { switch (match) { case 'A': return '<' case 'B': return '>' case 'CC': return '"' case 'DDDDD': return '&' } }) } module.exports = { dateFormat, htmlEscape, htmlUnEscape, }
test.js
const mytools = require('./my-tools/') //自动通过main查询到index.js文件 // 测试时间 const dt = new Date() const dtStr = mytools.dateFormat(dt) console.log(dtStr) //转义html const htmlStr = '<h1 title="abc">标签鸭<span>123</span></h1>' const hStr = mytools.htmlEscape(htmlStr) console.log(hStr) //还原html(Ah1 title=CCabcCCB标签鸭AspanB123A/spanBA/h1B) const zStr = mytools.htmlUnEscape(hStr) console.log(zStr)
拆分
目录
dateFormat.js
//格式化时间 // 1. 定义格式化时间的方法 function dateFormat(dtStr) { const dt = new Date(dtStr) console.log(dt) const y = dt.getFullYear() const m = padZero(dt.getMonth() + 1) const d = padZero(dt.getDate()) const hh = padZero(dt.getHours()) const mm = padZero(dt.getMinutes()) const ss = padZero(dt.getSeconds()) return `${y}-${m}-${d} ${hh}:${mm}:${ss}` } //补零 function padZero(n) { return n > 9 ? n : '0' + n } module.exports = { dateFormat, }
htmlEscape.js
//转义html //replace(正则,替换的格式) //正则里面,|表示或,g表示全局 function htmlEscape(htmlStr) { return htmlStr.replace(/<|>|"|&/g, (match) => { switch (match) { case '<': return 'A' case '>': return 'B' case '"': return 'CC' case '&': return 'DDDDD' } }) } //还原html function htmlUnEscape(str) { return str.replace(/A|B|CC|DDDDD/g, (match) => { switch (match) { case 'A': return '<' case 'B': return '>' case 'CC': return '"' case 'DDDDD': return '&' } }) } module.exports = { htmlEscape, htmlUnEscape, }
index.js
const data = require('./src/dateFormat') const escape = require('./src/htmlEscape') module.exports = { ...data, ...escape, }
test.js不变化
发布
- 注册账号
- 使用nrm把npm包换成官网镜像
nrm use npm
- 登录并且发布
登录的时候可能,问你再要一次密码,登录邮箱获取。
包名,不能和其他包名重合,如果类似,需要修改名字
npm login npm publish --access=public
- 卸载已经上传的包
因为下面命令只能删除3天内发布的包,所以不要上传没有意义的包
其次是已经卸载的包,一天内不能再次上传
(我上传的那个是为了学习,马上就会卸载)npm unpublish 包名 --force
补充知识
md转化为html
安装 i5ting_toc会把md文件转化成html
使用方式
npm i -g i5ting_toc //转换完成后,-o自动打开 i5ting_toc -f md文件 -o
这篇关于[Node]制作一个node包并且传到npm仓库,并把md文件转化为html的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-30毕设私活神器
- 2024-05-30html
- 2024-05-09一定要避坑:关于微信H5分享,温馨提示你不要再踩坑了!!!
- 2024-05-09本地项目放到公网访问!炒鸡煎蛋!
- 2024-04-07金融企业区域集中库的设计构想和测试验证
- 2024-03-11前端CSS的工程化——掌握Sass这四大特性就够了
- 2024-02-21h5关联css样式(html怎么和css关联)-icode9专业技术文章分享
- 2024-02-07Firefox禁止远程字体加速网页加载及图标字体补充安装
- 2024-02-07一个菜鸡前端的3年总结-「2023」
- 2024-01-18最火前端Web组态软件(可视化)