misty0304/blog

最简单的发布一个npm包

Opened this issue · 0 comments

随着coding的时间久了,我们也经常用到npm install一些依赖,通过这些依赖我们可以快速的完成很多繁琐的事情。

当然,我们在开发过程中不可避免的需要自己也写一些通用的组件,但是,是否也想过自己写的这些组件能让更多的人用呢?

下面,我们就来学习一下如何发布一个npm包,让更多的人能用到你写的组件!

首先,你需要一个npm账号,去官网注册。官网地址:https://www.npmjs.com/

注册完之后会发送邮件到注册时的邮箱,需要激活。

准备工作做完,终于可以搞起了!

1.在控制台中创建一个文件夹,并进入:

mkdir testnpm
cd testnpm

2.需要登录npm:

npm login

3.初始化:

npm init

执行完npm init之后会填写一系列信息,用于创建我们的package.json文件:

  • name:填写你这个包的名字,默认是你这个文件夹的名字。不过这里要着重说一下,最好先去npm上找一下有没有同名的包。最好的测试方式就是,在命令行里面输入npm install 你要取的名字,如果报错,那么很好,npm上没有跟你同名的包,你可以放心大胆地把包发布出去。如果成功下载下来了。。。那么很不幸,改名字吧。。。
  • version:你这个包的版本,默认是1.0.0
  • description:其实我也不知道是什么,按回车就好了。。。,这个用一句话描述你的包是干嘛用的,比如我就直接:‘a plugin for express.register routes base on file path’
  • entry point:入口文件,默认是Index.js,你也可以自己填写你自己的文件名
  • test command:测试命令,这个直接回车就好了,因为目前还不需要这个。
  • git repository:这个是git仓库地址,如果你的包是先放到github上或者其他git仓库里,这时候你的文件夹里面会存在一个隐藏的.git目录,npm会读到这个目录作为这一项的默认值。如果没有的话,直接回车继续。
  • keyword:这个是一个重点,这个关系到有多少人会搜到你的npm包。尽量使用贴切的关键字作为这个包的索引。我这个包嘛,第一是在express下工作的,然后又是一个插件plugin,然后又是一个注册路由route用的,而这个路由又是基于文件目录dir,所以很好就得出我的包的索引关键字。
  • author:写你的账号或者你的github账号吧
  • license:这个直接回车,开源文件来着。。。

4.在testnpm目录下新建index.js,里面代码如下:

module.exports = 'Hello NPM';

5.发布到npm上:

npm publish

OK,完事了!是不是很简单?可以在npm官网中搜索package.json中的name字段,找到你发布的包。

下面我们来测试下我们刚发布的包,找一个项目,在其package.json中的dependencies里加上你的包,然后npm install。

然后,在view层import进来,并console一下。

over!我们可以在控制台中看到“Hello NPM”!

就是那么简单!!!