在 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> (https://www.starcoders.info)", "keywords": [ "string", "reverse", "utility" ], "license": "MIT" } </contact>
编写代码
在项目根目录中创建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> (https://www.starcoders.info)", "keywords": [ "string", "reverse", "utility" ], "license": "MIT" } </contact>
好的,该软件包很快就会在 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中文网其他相关文章!

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

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

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版
视觉化网页开发工具