向npm注册中心发布包(上)

简介: 向npm注册中心发布包(上)

1、创建package.json文件

您可以将package.json文件添加到您的软件包中,以便于其他人管理和安装。发布到注册表的包必须包含package.json文件。

package.json文件:

  • 列出了项目的所有依赖项
  • 指定包的版本以及语义控制规则
  • 使您的构建具有重复性,因此更容易与其他开发者共享

注意:为了自己的发布的包,能够更容易的在npm官网上找到,建议最好还是在package.json文件中的description字段添加对应的描述信息。

1.1 fields 字段

package.json文件必须包含"name""version"字段。

"name"字段包含包的名称,必须是小写字母,并且可以包含连字符和下划线。

"version"字段必须采用x.x.x格式,并遵循语义版本控制指南。

1.2 Author 字段

如果要在"author"字段中包含软件包作者信息,请使用以下格式(电子邮件和网站都是可选的):

Your Name <email@example.com> (http://example.com)

示例:

{
  "name": "test_a",
  "version": "1.0.0",
  "description": "this is test package",
  "main": "read_file.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon read_file"
  },
  "author": "zhouxxx<724518201@qq.com>(spacebox.blog.csdn.net) ",
  "license": "ISC",
  "devDependencies": {
  }
}

1.3 创建 package.json 文件

可以通过CLI命令交互式来创建默认的 package.json 文件。

1、我们可以先创建一个目录,然后再进入该目录

mkdir package
cd /Users/zhou/package

2、运行一下命令:

npm init

3、根据提示,输入对应字段的信息,然后回车进入下一步。

如果创建的 package.json 所有字段,都设置为默认,可以添加参数:--yes

npm init --yes

1.4 自定义 package.json 的问题

1、在主目录中,创建一个名为.npm-init.js的文件。

2、要添加自定义问题,请使用文本编辑器,使用prompt函数添加问题:

module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");

3、要添加自定义字段,请使用文本编辑器将所需字段添加到.npm-init.js文件:

module.exports = {
  customField: 'Example custom field',
  otherCustomField: 'This example field is really cool'
}

1.5 从当前目录提取的默认值

  • name: 当前目录名
  • version: 默认 1.0.0
  • description: 来自README的信息,或空字符串""
  • scripts: 默认创建空test脚本
  • keywords:空
  • author:空
  • license: ISC
  • bugs: 当前目录中的信息(如果存在)
  • homepage: 当前目录中的信息(如果存在)

1.6 通过init命令设置配置选项

您可以为init命令设置默认配置选项。例如,要设置默认作者电子邮件、作者姓名和许可证,请在命令行上运行以下命令:

> npm set init-author-email "example-user@example.com"
> npm set init-author-name "example_user"
> npm set init-license "MIT"

2、创建Node.js 模块

2.1 创建一个package.json 文件

1、创建一个package.json 文件,在命令行中,切换到根目录或者 Node.js 模块,运行 npm init

2、为必填字段提供响应(name 和 version)以及main 属性

  • name: 模块的名字
  • version: 初始模块版本,建议遵循语义版本控制指南,从1.0.0开始

2.2 创建在另一个应用程序需要模块时将加载的文件

在文件中,添加一个函数作为exports对象的属性。这将使该函数对其他代码可用:

exports.isarray = function(arr) {
    let toString = {}.toString();
    return toString.call(arr) === '[object Array]';
}

2.3 测试模块

1、发布你的包到npm

  • 对于私有包和无作用域包,使用 npm publish
  • 对于作用域的公共包,使用 npm publish --access pulic

2、在命令行中,在项目目录之外创建一个新的测试目录。

mkdir test-directory

3、切换到新目录

cd /path/to/test-directory

4、在test目录中,安装模块:

npm install <your-module-name>

5、在test目录中,创建一个test.js文件,它需要您的模块并将模块作为方法调用。

6、在命令行上,运行node test.js。应显示发送到console.log的消息。

3、关于包的 README 文件

为了帮助其他人在npm上找到你的包,并在他们的项目中使用你的代码,我们建议在你的包目录中包含一个README文件。您的README文件可能包括安装、配置和使用软件包中代码的说明,以及用户可能发现有帮助的任何其他信息。README文件将显示在软件包页面上。

npm包的README文件必须位于包的根目录下。

3.1 创建README.md文件并将其添加到包中

1、在文本编辑器中,在包根目录中创建一个名为README.md的文件。

2、在README.md文件中,添加有关软件包的有用信息。

3、保存README.md文件。

注意:.md 文件表示Markdown 文件

3.2 更新现有包README文件

README文件仅在发布新版本的软件包时在软件包页面上更新。要更新自述文件:

1、在文本编辑器中,更新README.md文件的内容。

2、保存 README.md 文件

3、在命令行中,切换到根目录中运行如下命令:

npm version patch
npm publish

4、创建和发布无作用域的公共包

作为npm用户,您可以创建未作用域的包,用于您自己的项目,并将其发布到npm公共注册表,供其他人在他们的项目中使用。无作用域的包始终是公共的,并且仅由包名引用:

package-name

有关包作用域、访问和可见性的详细信息,请参阅 npm 包和模块简介

注意:在发布公共的非作用域npm包之前,您必须注册一个npm用户帐户。

4.1 创建无作用域的公共包

1、在命令行上,为您的包创建一个目录:

mkdir my-test-package

2、切换到包的根目录:

cd my-test-package

3、如果你使用git来管理你的包代码,在包根目录下,运行以下命令,将git-remote-url替换为你的包的git远程URL:

git init
git remote add origin git://git-remote-url

4、在软件包根目录中,运行npm init命令。

5、根据响应提示生成 package.json 文件。

6、创建一个README文件

,解释包代码是什么以及如何使用它。

4.2 检查包裹内容是否包含敏感或不必要的信息

将敏感信息发布到注册表可能会伤害用户、损害开发基础结构、修复成本高昂,并使您面临法律的诉讼的风险。我们强烈建议在将您的包发布到注册表之前删除敏感信息,例如私钥、密码、个人身份信息

(PII)和信用卡数据。

对于不太敏感的信息,如测试数据,请使用.npmignore.gitignore文件来防止发布到npm注册表。

4.3 测试您的软件包

为了减少发布bug的可能性,我们建议在将包发布到npm注册表之前对其进行测试。要测试您的包,请使用包目录的完整路径运行npm install

npm install path/to/my-package

4.4 发布无作用域的公共包

1、在命令行中,切换到包的根目录。

cd /path/to/package

2、要将公共包发布到npm注册表,请运行:

npm publish

注意:如果您使用GitHub Actions发布包,则可以为您发布的每个包生成出处信息。有关详细信息

3、要查看您的公共包页面,请访问https://npmjs.com/package/* package-name

,将package-name* 替换为您的包的名称。公共包在npm网站上的包名下面会显示public

4、测试

运行命令 npm install jiang-isarray

npm install jiang-isarray

新建文件 test.js ,内容如下:

var isArray = require('jiang-isarray')
console.log(isArray);
console.log(isArray([1,2,3,4,5]))    //  true
console.log(isArray({}))    //  false


相关文章
|
13天前
|
数据安全/隐私保护
发布一个npm包
发布一个npm包
|
2月前
NPM——删除已发布的包
NPM——删除已发布的包
55 1
|
3月前
|
运维 Kubernetes Java
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
|
2月前
|
JavaScript 前端开发 开发者
从零到一:教你如何发布自己的npm插件包
从零到一:教你如何发布自己的npm插件包
|
2月前
|
JavaScript
GitHub——自动发布NPM包
GitHub——自动发布NPM包
14 0
|
5月前
|
前端开发 JavaScript 数据安全/隐私保护
从0到1开发一个自己的npm包完整过程
创建自己的 npm 包涉及六个步骤:1) 注册 npm 账号;2) 使用 `npm init` 初始化项目,确保 package.json 的 name 唯一且 private 为 false;3) 开发项目,可封装 UI 组件、函数库或命令行工具;4) 本地调试,通过 `npm link` 在项目中测试;5) `npm login` 登录账号,可能需切换至官方仓库;6) 使用 `npm publish` 发布项目。注意版本号递增,无意义的包不建议发布。
186 2
从0到1开发一个自己的npm包完整过程
|
3月前
|
JavaScript 测试技术
npm发布自己的插件包
npm发布自己的插件包
|
3月前
|
JavaScript 开发工具 数据安全/隐私保护
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
67 0
|
3月前
包管理工具——npm实用教程 (修改下载源,安装依赖 -D -S -g ,卸载依赖等)
包管理工具——npm实用教程 (修改下载源,安装依赖 -D -S -g ,卸载依赖等)
52 0
|
4月前
|
安全 JavaScript 前端开发
怎么发布npm包?
该文介绍了如何在JavaScript环境中发布npm包的步骤。首先,确保npm客户端配置使用官方源,以避免安全和兼容性问题。接着,登录npm账号。然后,检查`package.json`文件,其中包的`name`应唯一,版本号遵循语义化版本控制。更新版本号后,使用`npm publish`发布包。最后,通过在新环境中全局安装并测试包来验证发布是否成功

推荐镜像

更多
下一篇
无影云桌面