开发属于自己的包

1. 需要实现的功能

① 格式化日期

② 转义 HTML 中的特殊字符

③ 还原 HTML 中的特殊字符

1.1.需要实现的功能

shi1.png

1.2. 需要实现的功能

teshu2.png

1.3. 需要实现的功能

shuchu3.png

2. 初始化包的基本结构

① 新建 yiliang-tools 文件夹,作为包的根目录

② 在 yiliang-tools 文件夹中,新建如下三个文件:

  • package.json (包管理配置文件)

  • index.js (包的入口文件)

  • README.md (包的说明文档)

3. 初始化 package.json

chushihua4.png

4. 在 index.js 中定义格式化时间的方法

// 定义格式化时间的函数
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}-${d} ${hh}:${mm}:${ss}`
}

// 定义一个补零的函数
function padZero(n) {
  return n > 9 ? n : '0' + n
}

module.exports = {
  dateFormat
}

5. 在 index.js 中定义转义 HTML 的方法

// 定义转义 HTML 字符的函数
function htmlEscape(htmlstr) {
  return htmlstr.replace(/<|>|"|&/g, match => {
    switch (match) {
      case '<':
        return '<'
      case '>':
        return '>'
      case '"':
        return '"'
      case '&':
        return '&'
    }
  })
}

6. 在 index.js 中定义还原 HTML 的方法

// 定义还原 HTML 字符串的函数
function htmlUnEscape(str) {
  return str.replace(/<|>|"|&/g, match => {
    switch (match) {
      case '<':
        return '<'
      case '>':
        return '>'
      case '"':
        return '"'
      case '&':
        return '&'
    }
  })
}

7. 将不同的功能进行模块化拆分

① 将格式化时间的功能,拆分到 src -> dateFormat.js 中

② 将处理 HTML 字符串的功能,拆分到 src -> htmlEscape.js 中

③ 在 index.js 中,导入两个模块,得到需要向外共享的方法

④ 在 index.js 中,使用 module.exports 把对应的方法共享出去

8. 编写包的说明文档

包根目录中的 README.md 文件,是包的使用说明文档。通过它,我们可以事先把包的使用说明,以 markdown 的

格式写出来,方便用户参考。

README 文件中具体写什么内容,没有强制性的要求;只要能够清晰地把包的作用、用法、注意事项等描述清楚即可。

我们所创建的这个包的 README.md 文档中,会包含以下 6 项内容:

安装方式、导入方式、格式化时间、转义 HTML 中的特殊字符、还原 HTML 中的特殊字符、开源协议

发布包

1. 注册 npm 账号

① 访问 https://www.npmjs.com/ 网站,点击 sign up 按钮,进入注册用户界面

② 填写账号相关的信息:Full Name、Public Email、Username、Password

③ 点击 Create an Account 按钮,注册账号

④ 登录邮箱,点击验证链接,进行账号的验证

2. 登录 npm 账号

npm 账号注册完成后,可以在终端中执行 npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。

命令1.png

3. 把包发布到 npm 上

将终端切换到包的根目录之后,运行 npm publish 命令,即可将包发布到 npm 上(注意:包名不能雷同),文件前面显示一个 + 代表上传完成

22.png

4. 删除已发布的包

运行 npm unpublish 包名 --force 命令,即可从 npm 删除已发布的包。

3333333333.png

注意:

① npm unpublish 命令只能删除 72 小时以内发布的包

② npm unpublish 删除的包,在 24 小时内不允许重复发布

③ 发布包的时候要慎重,尽量不要往 npm 上发布没有意义的包!

你可能感兴趣的:(开发属于自己的包)