本文首发于微信公众号:大迁世界, 我的微信:qq449245884,我会第一时间和你分享前端行业趋势,学习途径等等。 更多开源作品请看 GitHub https://github.com/qq449245884/xiaozhi ,包含一线大厂面试完整考点、资料以及我的系列文章。
技术一直在变化,我们的流程和做法也需要跟上这些变化。因此,虽然npm已经有12年的历史了,但围绕 npm 包创建的做法应该更现代。
在这节课中,我们使用现代最佳实践(截至2022年)一步一步地创建一个npm包。首先学习如何创建一个npm包,这样你就可以熟悉构建和发布一个包到 npm 注册表。
然后,再学习如何通过建立测试框架、持续集成和部署管道、安全检查以及发布的自动语义版本管理,来制作一个更健壮、可用于生产的npm包。
简单的npm包示例
我们先通过一个简单的例子来熟悉创建和发布npm包的过程。
创建项目
- 创建一个 GitHub 仓库: https://github.com/new
- 克隆本地的 repo。 例如:git clone https://github.com/snyk-labs/...
- 打开你的终端,进入到克隆的项目文件夹。 例如:cd simple-npm-package
- 运行
npm init -y
来创建package.json
文件。注意:如果克隆了示例仓库,就不需要做这一步。 - 在package.json 取一个名称,对应 name 字段
- 为该包编写你的代码
创建 npm 账户
为了能够让我们的 npm 包供他人使用,需要一个npm账户。
- 通过 https://www.npmjs.com/signup 注册
- 为了提高安全性,请在您的npm账户上启用2FA:https://docs.npmjs.com/config...
- 使用 npm login 命令在终端中用你的 npm账户登录,并按照屏幕上的指示操作。
> npm login
npm notice Log in on https://registry.npmjs.org/
Username: clarkio
Password:
Email: (this IS public) <email address>
npm notice Please use the one-time password (OTP) from your authenticator application
Enter one-time password from our authenticator app: <OTP>
Logged in as clarkio on https://registry.npmjs.org/.
如何发布 npm 包
一旦你有了一个npm项目和一个npm账户,你就可以把你的npm包发布到公开的官方npmjs
注册表上,让其他人可以使用。以下是你要遵循的步骤,在执行之前检查将发布的内容,然后运行实际的发布过程。
- 在终端,运行
npx npm-packlist
来查看将被包含在发布版本的软件包中的内容。
这可以确保我们没有遗漏任何源代码文件,这些文件是软件包正常运行所需要的。这也是一个好的做法,以确保我们不会意外地将敏感信息泄露给公众,如带有数据库凭证或API密钥的本地配置文件。
代码语言:javascript复制> npx npm-packlist
LICENSE
index.js
package.json
README.md
在终端,运行npm publish --dry-run
,看看实际运行命令时将会做什么。
> npm publish --dry-run
npm notice
npm notice