【译】发布你本身的npm包

banner

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

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

那么,你有没有想过编写本身的实用程序/库,并将其发布到NPM上面,以便在世界任何的地方能够重复使用它?若是是,那就继续阅读。✨前端

咱们将在本文中介绍如下部分。java

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

为何?

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

不管代码有多少,不管是一行仍是一千行,均可以将其做为包发布,以便在多个代码库中轻松使用。webpack

此外,你还能够成为这个库的做者。多么酷啊!😎git

发布的步骤

发布一般是一个简单的过程。github

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

入口

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

npm init
复制代码

(根据提示)输入有意义的包名称和包的相应详细信息。这将为你建立package.json。全部NPM包都须要main键。这定义了咱们库的入口点。默认状况下,这入口点将是index.js,可是你能够根据你本身的状况来更改入口点(文件)。

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

源码

若是你正在编写一个小型库,则能够将全部代码放入index.js中。可是,更常见的是,咱们将抽象代码并将其放入单独的文件中。因此,理想的方法是将全部源代码保存在src中。

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

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

测试

你须要进行全面测试,以确保你的代码按照预期工做。有各类测试设置。你可使用最适合你需求的。那么,普遍使用的测试设置有

... 等等

若是你须要代码覆盖率,我很喜欢(覆盖率),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来自动更新版本,而不是手动更新它们。这些命令是基于语义版本控制

样板文件

我有一些我本身的npm软件包,并在线研究了建立NPM软件包的全部最佳实践,并专门为此建立了样板文件。它具备预先设置的全部功能,以便你能够在几秒钟内开始使用。若是你正在寻找编写JavaScript util包,它可能只是你的样板。

样板文件的连接 -- npm-module-boilerplate

你是最棒的!祝你度过美好的一天!🎉

后话

原文:hackernoon.com/publish-you…

文章首发:github.com/reng99/blog…

更多内容:github.com/reng99/blog… (客官能否star下仓库啊@~@!)

相关文章
相关标签/搜索