包:也叫第三方模块
npm:node.js包管理器(Package Manager)
npm基本命令
登录与退出登录npm(先注册)
npm login //登录要用户名密码邮箱及验证码
npm logout
包安装与卸载
npm i 包名
npm i 包名 -D //开发模式
npm uninstall 包名
npm i 包名@1.1.1(指定版本号,可以一个数字表示大版本)
npm i 包名 -g //表示全局模式安装,卸载时也要-g
发布包与将发布包删除
npm publish //在该包的终端下运行
npm unpublish 包名 -force
查看包版本和所有版本
npm view 包名 version
npm view 包名 versions
制作一个规范的包(实例)
dateFormat.js
// 定义格式化时间的函数
function dateFormat(dateStr) {
const y = dateStr.getFullYear()
const m = padZero(dateStr.getMonth() + 1)
const d = padZero(dateStr.getDate())
const hh = padZero(dateStr.getHours())
const mm = padZero(dateStr.getMinutes())
const ss = padZero(dateStr.getSeconds())
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}
// 补零的函数
function padZero(n) {
return n > 9 ? n : '0' + n
}
export {
dateFormat
}
htmlEscape.js
// 定义转义 HTML 字符的函数
function htmlEscape(htmlstr) {
return htmlstr.replace(/<|>|"|&/g, match => {
switch (match) {
case '<':
return '<'
case '>':
return '>'
case '"':
return '"'
case '&':
return '&'
// 更多请搜索HTML转义字符对照表
}
})
}
// 定义还原 HTML 字符串的函数
function htmlUnEscape(str) {
return str.replace(/<|>|"|&/g, match => {
switch (match) {
case '<':
return '<'
case '>':
return '>'
case '"':
return '"'
case '&':
return '&'
}
})
}
export {
htmlEscape,
htmlUnEscape
}
package.json
{
"name": "wrh2001-tools",
"version": "1.0.0", // 版本号
"main": "index.js", // 包入口文件
"description": "描述",
"keywords": [
"一些相关的关键字",
"wrh"
],
"license": "ISC" // 证书
}
index.js
// 这是包的入口文件
import * as date from './src/dateFormat.js'
import * as escape from './src/htmlEscape.js'
// 向外暴露需要的成员
export{
date,
escape
}
README.md
在这里可以做一些有关的介绍:
这个包可以把时间格式化,
也可以将网页与html文件转化
包测试:
test.js
import * as index from './wrh2001-tools/index.js'
console.log(index.date.dateFormat(new Date))
var htmlStr = '<h1 id="h1">一级标题</h1>'
var htmlE = index.escape.htmlEscape(htmlStr)
var htmlUe = index.escape.htmlUnEscape(htmlE)
console.log(htmlE);
console.log(htmlUe);