3、如何发布一个包

目录

1初始化基础的包结构

1.1初始化包结构

1.2初始化package.json

1.3在index.js中定义初始化时间的函数

1.4转义html中的特殊字符

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

3编写包的说明文档

4发布包

4.1注册npm账号

4.2在终端进行登录

4.3把包发布到npm 上

4.4删除已发布的包


npm login:登录npm账号

npm publish:发布包到npm上

npm unpublish 包名 --force:从npm删除已发布的包

1初始化基础的包结构

1.1初始化包结构

新建itheima-tools文件夹,作为包的根目录,在itheima-tools文件夹中,新建如下三个文件:

  1. package.json(包管理配置文件)
  2. index.js(包的入口文件)
  3. README.md(包的说明文档)

1.2初始化package.json

{
    "name": "itheima-tools",
    "version": "1.0.0",
    "main": "index.js",
    "description": "提供了格式化时间,HTMLEscape的功能",
    "keywords": ["itheima", "dateFormat", "escape"],
    "license": "ISC"
}

1.3在index.js中定义初始化时间的函数

1.4转义html中的特殊字符

        为了防止用户在提交表单的时候提交一些html的标签。

在index.js中定义转义html的方法

function htmlEscape(htmlStr) {
    return htmlStr.replace(/<|>|"|&/g, (match) => {
        switch (match) {
            case '<':
                return '&lt;'
            case '>':
                return '&gt;'
            case '"':
                return '&quot;'
            case '&':
                return '&amp;'
        }

    })
}

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

function htmlUnEscape(str) {
    return str.replace(/&lt;|&gt;|&quot;|&amp;/g, (match) => {
        switch (match) {
            case '&lt':
                return '<;'
            case '&gt':
                return '>;'
            case '&quot':
                return '";'
            case '&amp':
                return '&;'
        }

    })

}

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

  1. 将格式化时间的功能,拆分到src -> dateFormat.js 中
  2. 将处理HTML字符串的功能,拆分到src -> htmlEscape.js 中
  3. 在index.js中,导入两个模块,得到需要向外共享的方法
  4. 在index.js中,使用module.exports把对应的方法共享出去

3编写包的说明文档

        包根目录中的README.md 文件,是包的使用说明文档。通过它,我们可以事先把包的使用说明,以markdown的格式写出来,方便用户参考。包含6个部分:安装方式、导入方式、格式化时间、转义HTML中的特殊字符、还原HTML 中的特殊字符、开源协议

## 安装
```
npm install itheima-tools

```

## 导入
```js
const itheima = require('./index.js')
```

## 格式化时间
```js
// dateFormat对时间进行格式化
const dtStr = itheima.dateFormat(new Date())
// 结果 2022-04-08 00:06:02
console.log(dtStr)
```
## 转义HTML中的特殊字符
```js
// 待转换的html字符串
const htmlStr = '<h1 title="abd">这是h1标签<span>123&nbsp</span></h1>'
// 调用htmlEscape方法进行转换
const str = itheima.htmlEscape(htmlStr)
// 结果 &lt;h1 title=&quot;abd&quot;&gt;这是h1标签&lt;span&gt;123&amp;nbsp&lt;/span&gt;&lt;/h1&gt;
console.log(str)
```
## 还原HTML中的特殊字符
```js
// 调用htmlUnEscape方法进行还原
const str2 = itheima.htmlUnEscape(htmlStr)
// 结果 <h1 title="abd">这是h1标签<span>123&nbsp</span></h1>
console.log(str2)
```
## 开源协议
ISC

4发布包

4.1注册npm账号

  1. 访问https://www.npmjs.com/网站,点击 sign up按钮,进入注册用户界面
  2. 填写账号相关的信息:Full Name、Public Email、Username、Password
  3. 点击Create an Account按钮,注册账号
  4. 登录邮箱,点击验证链接,进行账号的验证

4.2在终端进行登录

        npm账号注册完成后,可以在终端中执行npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。(注意:在运行npm login命令之前,必须先把下包的服务器地址切换为npm的官方服务器。否则会导致发布包失败!)

4.3把包发布到npm 上

        将终端切换到包的根目录之后,运行npm publish 命令,即可将包发布到npm上(注意:包名不能雷同)发布完之后可以去官网上登录查看。

成功发布一个包!!!

 

4.4删除已发布的包

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

注意:

  1. npm unpublish命令只能删除72小时以内发布的包
  2. npm unpublish删除的包,在24小时内不允许重复发布
  3. 发布包的时候要慎重,尽量不要往npm上发布没有意义的包!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
发布一个写入文件的 Node.js ,可以按照以下步骤操作: 1. 创建一个文件夹,并在其中创建一个名为 `package.json` 的文件。在 `package.json` 中,需要设置 `name`、`version`、`description`、`author` 等基本信息,以及 `main` 属性,该属性指定了 Node.js 加载模块时的入口文件。 2. 在上述文件夹中编写代码,实现写入文件的功能。可以使用 Node.js 核心模块 `fs` 来完成文件写入操作。 3. 在命令行中进入该文件夹,并运行 `npm init` 命令,生成一个新的 `package.json` 文件。 4. 将代码文件和 `package.json` 文件打,并使用 `npm publish` 命令将发布到 npm 上。 例如,假设你的名为 `my-file-writer`,你可以按照以下步骤操作: 1. 创建一个名为 `my-file-writer` 的文件夹,并在其中创建一个名为 `package.json` 的文件,设置基本信息和入口文件: ```json { "name": "my-file-writer", "version": "1.0.0", "description": "A simple Node.js module for writing files", "main": "index.js", "author": "Your Name <your.email@example.com>", "license": "MIT" } ``` 2. 在 `my-file-writer` 文件夹中创建一个名为 `index.js` 的文件,编写写入文件的代码: ```javascript const fs = require('fs'); module.exports = function(filePath, content, callback) { fs.writeFile(filePath, content, callback); }; ``` 3. 在命令行中进入 `my-file-writer` 文件夹,并运行 `npm init` 命令,生成一个新的 `package.json` 文件。 4. 执行 `npm pack` 命令,生成一个名为 `my-file-writer-1.0.0.tgz` 的文件。 5. 执行 `npm publish` 命令,将发布到 npm 上。 发布成功后,其他人就可以使用 `npm install my-file-writer` 命令安装你的,并调用其中的函数来写入文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大炮不想学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值