1. 需要實現(xiàn)的功能
① 格式化日期
② 轉(zhuǎn)義 HTML 中的特殊字符
③ 還原 HTML 中的特殊字符
1.1.需要實現(xiàn)的功能

1.2. 需要實現(xiàn)的功能

1.3. 需要實現(xiàn)的功能

2. 初始化包的基本結(jié)構(gòu)
① 新建 yiliang-tools 文件夾,作為包的根目錄
② 在 yiliang-tools 文件夾中,新建如下三個文件:
package.json (包管理配置文件)
index.js (包的入口文件)
README.md (包的說明文檔)
3. 初始化 package.json

4. 在 index.js 中定義格式化時間的方法
// 定義格式化時間的函數(shù)
function dateFormat(dateStr) {
const dt = new Date(dateStr)
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}-$u0z1t8os ${hh}:${mm}:${ss}`
}
// 定義一個補零的函數(shù)
function padZero(n) {
return n > 9 ? n : '0' + n
}
module.exports = {
dateFormat
}
5. 在 index.js 中定義轉(zhuǎn)義 HTML 的方法
// 定義轉(zhuǎn)義 HTML 字符的函數(shù)
function htmlEscape(htmlstr) {
return htmlstr.replace(/<|>|"|&/g, match => {
switch (match) {
case '<':
return '<'
case '>':
return '>'
case '"':
return '"'
case '&':
return '&'
}
})
}
6. 在 index.js 中定義還原 HTML 的方法
// 定義還原 HTML 字符串的函數(shù)
function htmlUnEscape(str) {
return str.replace(/<|>|"|&/g, match => {
switch (match) {
case '<':
return '<'
case '>':
return '>'
case '"':
return '"'
case '&':
return '&'
}
})
}
7. 將不同的功能進(jìn)行模塊化拆分
① 將格式化時間的功能,拆分到 src -> dateFormat.js 中
② 將處理 HTML 字符串的功能,拆分到 src -> htmlEscape.js 中
③ 在 index.js 中,導(dǎo)入兩個模塊,得到需要向外共享的方法
④ 在 index.js 中,使用 module.exports 把對應(yīng)的方法共享出去
8. 編寫包的說明文檔
包根目錄中的 README.md 文件,是包的使用說明文檔。通過它,我們可以事先把包的使用說明,以 markdown 的
格式寫出來,方便用戶參考。
README 文件中具體寫什么內(nèi)容,沒有強制性的要求;只要能夠清晰地把包的作用、用法、注意事項等描述清楚即可。
我們所創(chuàng)建的這個包的 README.md 文檔中,會包含以下 6 項內(nèi)容:
安裝方式、導(dǎo)入方式、格式化時間、轉(zhuǎn)義 HTML 中的特殊字符、還原 HTML 中的特殊字符、開源協(xié)議
發(fā)布包
1. 注冊 npm 賬號
① 訪問 https://www.npmjs.com/ 網(wǎng)站,點擊 sign up 按鈕,進(jìn)入注冊用戶界面
② 填寫賬號相關(guān)的信息:Full Name、Public Email、Username、Password
③ 點擊 Create an Account 按鈕,注冊賬號
④ 登錄郵箱,點擊驗證鏈接,進(jìn)行賬號的驗證
2. 登錄 npm 賬號
npm 賬號注冊完成后,可以在終端中執(zhí)行 npm login 命令,依次輸入用戶名、密碼、郵箱后,即可登錄成功。

3. 把包發(fā)布到 npm 上
將終端切換到包的根目錄之后,運行 npm publish 命令,即可將包發(fā)布到 npm 上(注意:包名不能雷同),文件前面顯示一個 + 代表上傳完成

4. 刪除已發(fā)布的包
運行 npm unpublish 包名 --force 命令,即可從 npm 刪除已發(fā)布的包。

注意:
① npm unpublish 命令只能刪除 72 小時以內(nèi)發(fā)布的包
② npm unpublish 刪除的包,在 24 小時內(nèi)不允許重復(fù)發(fā)布
③ 發(fā)布包的時候要慎重,盡量不要往 npm 上發(fā)布沒有意義的包!