如何将包发布到 npm:分步指南
在 NPM(Node 包管理器)上发布包不仅是与其他开发人员分享您的工作的一种方式,也是在开发社区中脱颖而出的一种方式。想象一下,创建一个可重用的解决方案,可以集成到世界各地的各种项目中,从而节省其他程序员的时间和精力。
在本文中,您将逐步学习如何在 NPM 上配置、发布和维护自己的包,使您的贡献易于访问并提高您作为开发人员的知名度。
先决条件
开始之前,请确保您拥有:
- 已安装 NPM。您可以从nodejs.org下载它或使用NVM(Node版本管理器)。
- 在 npmjs.com 上创建的帐户
在终端中运行以下命令,验证 Node.js 和 NPM 是否安装成功。
node -v npm -v
如果安装正确,终端会显示各个版本。
结果将类似于以下内容:
$ v20.18.0 # node -v $ 10.8.2 # npm -v
配置项目
首先使用您想要的包名称创建一个文件夹。就我而言,我选择了“string-reverser-jm”。
mkdir string-reverser-jm # cria a pasta via terminal cd string-reverser-jm # acessa a pasta via terminal
初始化 NPM:
npm init
执行上述命令时,终端会问你几个问题来创建 package.json 文件。
以下是我们需要填写的每个项目的解释。
- 名称:包的唯一标识符。
- 版本:使用语义版本控制来指示更改。
- 描述:对该包功能的简要说明。
- main:入口点文件,例如index.js。
- 关键字:用于分类的关键字,以便其他开发者更容易找到包。
- 作者:添加相关作者详细信息。
- 许可证:许可证定义了其他人如何使用、修改和分发代码。最常见的许可证是 MIT,它是宽松的,允许很大的使用自由,只要提供原始版权声明即可。
如果您完成了问题并且 NPM 创建了没有任何此信息的文件,请在编辑器中打开创建的文件并添加缺少的内容。
示例:
{ "name": "string-reverser-jm", "version": "1.0.0", "description": "A simple utility to reverse strings, useful for demonstrations and small projects.", "main": "index.js", "scripts": { "test": "echo \"No test specified\" && exit 1" }, "author": "Juliana Macedo <contact@starcoders.info> (https://www.starcoders.info)", "keywords": [ "string", "reverse", "utility" ], "license": "MIT" }
编写代码
在项目根目录中创建index.js文件。
function reverseString(str) { if (typeof str !== "string") { throw new TypeError("Expected a string as input"); } return str.split("").reverse().join(""); } module.exports = reverseString;
测试包
为了在发布之前测试包,我们将使用 npm link 命令
在包目录下,运行命令:
npm link
在要测试包的项目中,运行命令:
node -v npm -v
在测试项目中导入并使用该包以确保其正常工作:
$ v20.18.0 # node -v $ 10.8.2 # npm -v
要删除创建的链接,只需在测试项目目录中运行命令 npm unlink string-reverser-jm ,然后在包目录中运行 npm unlink 即可。
准备发布包
首先,为包创建一个 Git 存储库并将其链接到 NPM。这通过提供源代码来提高透明度和信任,促进协作和社区贡献,并通过 CI/CD 实现自动化,以实现更高效的管理和维护。
要链接到 NPM,请复制存储库的 https 地址并将其添加到 package.json:
mkdir string-reverser-jm # cria a pasta via terminal cd string-reverser-jm # acessa a pasta via terminal
- .gitignore:创建 .gitignore 文件以从版本控制中排除文件夹和文件,例如 node_modules 和 .env。
- .npmignore:创建 .npmignore 文件以指定哪些文件和文件夹不应包含在 NPM 包中。
- README.md:创建包含有关包的信息的文件。
发布包
使用您的登录详细信息登录 NPM:
npm init
运行以下命令来发布包:
{ "name": "string-reverser-jm", "version": "1.0.0", "description": "A simple utility to reverse strings, useful for demonstrations and small projects.", "main": "index.js", "scripts": { "test": "echo \"No test specified\" && exit 1" }, "author": "Juliana Macedo <contact@starcoders.info> (https://www.starcoders.info)", "keywords": [ "string", "reverse", "utility" ], "license": "MIT" }
好的,该软件包很快就会在 NPM 注册表中可用!
https://www.npmjs.com/package/string-reverser-jm
更新包
进行更新或错误修复时,请使用以下命令之一根据语义版本控制增加 package.json 中的版本号:
function reverseString(str) { if (typeof str !== "string") { throw new TypeError("Expected a string as input"); } return str.split("").reverse().join(""); } module.exports = reverseString;
然后发布更新版本:
npm link
常见问题:
- 包名称已被占用:如果由于已存在同名包而导致发布失败,请选择另一个尚未被占用的名称。
- 身份验证错误:确保您已登录并拥有发布所需的所有权限。
- 版本冲突:如果您尝试在不更新版本号的情况下发布,NPM 将拒绝您的帖子。使用npm version来增加版本。
以上是如何将包发布到 npm:分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。
