Node — 第九天 (ES6降级 and 发布属于自己的[第三方模块]包)

ES6降级处理

因为 ES 6 有浏览器兼容性问题,可以使用一些工具进行降级处理,例如:babel

  • 降级处理 babel 的使用步骤

    1. 安装 Node.js
    2. 命令行中安装 babel
    3. 配置文件 .babelrc
    4. 运行命令,完成降级
  • 项目初始化 (项目文件夹不能有中文)

    npm init -y
    
  • 在命令行中,安装 babel babel官网

    npm install  @babel/core @babel/cli @babel/preset-env
    
  • 配置文件 .babelrc (手工创建这个文件)

    babel 的降级处理配置

    {
      "presets": ["@babel/preset-env"]
    }
    
  • 在命令行中,运行

    # 把转换的结果输出到指定的文件
    npx babel index.js -o test.js
    # 把转换的结果输出到指定的目录
    npx babel 包含有js的原目录 -d 转换后的新目录
    

发布属于自己的包

规范的包结构

在清楚了包的概念、以及如何下载和使用包之后,接下来,我们深入了解一下包的内部结构。

一个规范的包结构,需要符合以下 3 点要求:

  1. 包必须以单独的目录而存在
  2. 包的顶级目录下要必须包含 package.json 这个包管理配置文件
  3. package.json 中必须包含 nameversionmain 这三个属性,分别代表包的名字、版本号、包的入口。
    • name 包的名字,我们使用 require() 加载模块的时候,使用的就是这个名字
    • version 版本,1.2.18 ,对于一个新的包来说,版本是 1.0.0
    • main 入口文件。默认是 index.js 。如果不是,需要使用main指定

注意:以上 3 点要求是一个规范的包结构必须遵守的格式,关于更多的约束,可以参考如下网址:

https://yarnpkg.com/zh-Hans/docs/package-json

开发属于自己的包

  • 需要实现的功能是(比如把首字母转换成大写、把时间处理成年月日的形式)

  • 初始化包的基本结构

    • 新建 itheima-ucfirst 文件夹,作为包的根目录
    • 在 itheima-ucfirst 文件夹中,新建如下三个文件:
      • package.json (包管理配置文件)
      • index.js (包的入口文件)
      • README.md (包的说明文档)
  • 初始化 package.json

    关于更多 license 许可协议相关的内容,可参考 https://www.jianshu.com/p/86251523e898

  • index.js 中定义功能方法

    编写包的说明文档

    包根目录中的 README.md 文件,是包的使用说明文档。通过它,我们可以事先把包的使用说明,以 markdown 的 格式写出来,方便用户参考。

    README 文件中具体写什么内容,没有强制性的要求;只要能够清晰地把包的作用、用法、注意事项等描述清楚即可。 我们所创建的这个包的 README.md 文档中,会包含以下 4 项内容:(可以参考其他包的文档,比如multer)

    • 安装方式
    • 导入方式
    • 方法使用说明
    • 开源协议

发布包

  • 注册npm账号

    • 访问 https://www.npmjs.com/ 网站
    • 点击 sign up 按钮,进入注册用户界面
    • 填写账号相关的信息
    • 点击 Create an Account 按钮,注册账号
  • 登录 npm 账号(指的不是页面中登录,而是终端中登录

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

在这里插入图片描述

  • 把包发布到 npm 上

    • 将终端切换到包的根目录
    • 切换镜像源为npm官网(用taobao的镜像源不行)
    • 运行 npm publish 命令,即可将包发布到 npm 上
    • 注意:包名不能雷同
  • 常见错误

    • 没有切换镜像源。要发布到npm上,必须切换镜像源为npm

在这里插入图片描述

- 24小时内不能重复发布

在这里插入图片描述

- 新注册的账号,必须先邮箱(邮件可能是垃圾邮件)验证,然后才能发布

在这里插入图片描述

  • 删除已发布的包

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

    • npm unpublish 命令只能删除 72 小时以内发布的包
    • npm unpublish 删除的包,在 24 小时内不允许重复发布
    • 发布包的时候要慎重,尽量不要往 npm 上发布没有意义的包!

更多关于npm的命令:https://www.npmjs.cn/

猜你喜欢

转载自blog.csdn.net/weixin_44694682/article/details/106026543