【译】发布你自己的npm包

栏目: 编程语言 · AngularJS · 发布时间: 5年前

内容简介:如今,NPM已经成为javascript库的事实上的注册表。特别是React,Angular和其他前端库主导的网络和node.js接管的服务器端,NPM软件包比以往任何时候都更受欢迎。通常,我们会在代码中引入实用包,比如那么,你有没有想过编写自己的我们将在本文中介绍以下部分。
【译】发布你自己的npm包

备注: npm模块 有个神奇的样板。这篇文章是基于我从设置中学到的东西。

如今,NPM已经成为javascript库的事实上的注册表。特别是React,Angular和其他前端库主导的网络和node.js接管的服务器端,NPM软件包比以往任何时候都更受欢迎。通常,我们会在代码中引入实用包,比如 typysugar ,并轻松的使用它们。

那么,你有没有想过编写自己的 实用程序/库 ,并将其发布到NPM上面,以便在世界任何的地方可以重复使用它?如果是,那就继续阅读。:sparkles:

我们将在本文中介绍以下部分。

  1. 为什么?
  2. 发布的步骤
  3. 样板文件

为什么?

当你在多个项目中工作时,你经常发现自己在多个项目中重复简单的事情。举个例子,以你想要的方式解析日期并对其进行格式化。大多数开发者只是从一个项目复制代码到另一个项目中使用它,因为它只是几行代码。但更好的方法是提取代码并将其放在一个公共的位置,以便你可以从任何项目中访问它。NPM是一个理想且不断发展的生态系统,并且可以免费使用它。所以,从长远看,将所有可重用代码作为npm包发布上去将会帮助到你。

无论代码有多少,无论是一行还是一千行,都可以将其作为包发布,以便在多个代码库中轻松使用。

此外,你还可以成为这个库的 作者 。多么酷啊!:sunglasses:

发布的步骤

发布通常是一个简单的过程。

code => test => publish => revise code => test => publish new version ...

入口

创建一个新目录(,进入目录)并从终端输入以下命令。

npm init
复制代码

(根据提示)输入有意义的包名称和包的相应详细信息。这将为你创建 package.json 。所有NPM包都需要 main 键。这定义了我们库的入口点。默认情况下,这 入口点 将是 index.js ,但是你可以根据你自己的情况来更改入口点(文件)。

对于 Babel 或基于 bundle 的库,入口点通常位于构建目录中。

源码

如果你正在编写一个小型库,则可以将所有代码放入 index.js 中。但是,更常见的是,我们将抽象代码并将其放入单独的文件中。所以,理想的方法是将所有源代码保存在 src 中。

这是目前最广泛使用和推荐的源代码设置,尽管它从一个库到另一个库中有所不同。

  • ES6 --Babel
  • Linting --ESLint
  • Code formatting -- Beautify/ Prettier
  • Bundling --Webpack

我们大多数的人已经知道(上面)这些事,所以,我仅仅列出来,把它们留给你弄清楚。

测试

你需要进行全面测试,以确保你的代码按照预期工作。有各种测试设置。你可以使用最适合你需求的。那么,广泛使用的测试设置有

  • JavaScript Utility — Mocha
  • React Library — Jest with Enzyme
  • Angular Library — Karma withJasmine

... 等等

如果你需要代码覆盖率,我很喜欢(覆盖率), Istanbul 是任何JavaScript项目的最佳覆盖 工具 之一。我非常喜欢它。

发布

一旦你的代码通过了测试,那么可以准备发布了。

  1. 在npmjs.com中创建一个账号。
  2. 在控制台上运行下面的指令
npm login
复制代码

输入你的用户名和密码。这将存储凭据,因此你不必为每次发布输入凭据。

  1. 现在去发布,运行(下面指令)
npm publish
复制代码

这会将你的包发布到NPM注册表。发布完成后(不到一分钟),你可以在链接 https://www.npmjs.com/~{username}/{package-name} 中查看你的包。

如果你想对包进行更改,则必须更改版本号并再次发布。

请记住使用npm命令 npm version patchnpm version minornpm verson major 来自动更新版本,而不是手动更新它们。这些命令是基于语义版本控制。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Convergence Culture

Convergence Culture

Henry Jenkins / NYU Press / 2006-08-01 / USD 30.00

"Convergence Culture" maps a new territory: where old and new media intersect, where grassroots and corporate media collide, where the power of the media producer, and the power of the consumer intera......一起来看看 《Convergence Culture》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码