开发一个自己的包的步骤,以my-tools为例子
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 use npm
npm login npm publish --access=public
npm unpublish 包名 --force
安装 i5ting_toc会把md文件转化成html
使用方式
npm i -g i5ting_toc //转换完成后,-o自动打开 i5ting_toc -f md文件 -o