虽然现在大部分的包在npm官网上都可以找到,在遇到一些自己觉得很好的功能的时候,能够自己将这个功能打个包将他发布到网上,我觉得对于自己精神层面来说是有极大的成就感的,并且俗话说“技多不压身”,能多个技能何乐不为呢?
明确自己的需求
也就是这个包,自己要实现什么样的功能。
初始化包的基本结构
- 新建一个项目文件,作为包的根目录
- 在项目文件中新建三个文件
- 生成一个包管理的配置文件package.json
//初始化package.js文件在目标文件夹下打开终端敲如下命令可以快速的生成一个基本配置的package文件 npm init -y //想要自己配置package文件也可以敲如下命令 npm init
生成好的package文件如下:
- 写一个包的入口文件(就是写功能的js文件)
- 写一个包的说明文件(一般是一个md文件)
- 生成一个包管理的配置文件package.json
注意点:1.在书写package文件中的name属性后面的值就是包名的时候先要去npm官网上去搜索一下有不有这个包名,如果有就自己更换一个名字
2.package文件中的name属性后面的值由自己决定
3.package文件中的main属性后面的文件一定要是那个入口文件(也就是那个写功能的js文件)
4.package文件中的keywords属性后面数组中写的是匹配用户在npm官网上搜索的关键词的关键词
5.package文件中的description属性后面值是写对于这个包功能的简介
将不同的功能进行模块化拆分
1. 将包的入口文件中写的功能拆分到不同的js文件中去,有多少个功能就新建多少个js文件,将功能都写到新建的对应的文件中去
2.在包的入口文件中只需要引入拆分出去的那些模块文件。也就是在刚开始建的那个js文件中将拆分出去的那些功能文件通过require方法加载到这个文件中。
3.在包的入口文件中通过module.exports方法共享出去(在module.exports方法中将加载过来的模块里面的属性与方法都添加进来)。
编写说明文档
将如何初始化这个包,使用这个包需要怎么调用里面的功能,需不需要传参数,怎么传参数这些,以及使用这个包还有哪些注意事项都写在这个文档里面,以免哪天有用户下载了这个包的时候不知道怎么去使用。
发布包
1.访问npm网站,点击sign up按钮,进入到注册用户页面
2.填写账号相关信息
3.点击Create an Account按钮,注册账号
4.登录邮箱,点击验证链接,进行账号的验证(这一步很重要)
登录npm账号
注册成功过后,在项目文件目录下打开终端,通过 npm login 命令登陆账号,输入自己注册过的信息,如果显示以下页面就表示登录成功
发布包
通过npm publish命令就可以将你所写的包发表上去了,然后你可以通过登录npm官网,鼠标悬停在头像上点击packages选择,看到你的包名就代表你发表成功。