登录 ×

梨花寨前端技术交流平台!

html,css,js,html5,css3等

如何发布自己模块到NPM

2018-06-11 11:31:50 | 浏览量:202

1、在npm网站注册一个自己的账号,待会儿会用到这个账号,npm账号注册地址:https://www.npmjs.com/signup。注册完成npm会发一封邮件到你填写的邮箱里边,记得到你填写的邮箱里边去验证一下。

2、电脑打开命令行,键入:npm login,按照提示输入之前注册的用户名、密码、邮箱。

3、电脑任意位置创建一个文件夹,名字为你要发布的模块的名字。例如:testnpm,使用命令行进入到刚刚创建的文件夹中,键入:npm init 创建一个package.json的文件。其中保存你即将发布的模块的名字、版本号、说明、作者等相关信息,接着就依次填写, 不想填写的话也可以一路Enter。

参数说明:

name:模块名,之后发布之后就可以让用户npm install xxxx来引用你的开源模块了

version:版本号,语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

如果只是修复bug,需要更新Z位。如果是新增了功能,但是向下兼容,需要更新Y位。如果有大变动,向下不兼容,需要更新X位。

description:简单介绍自己的模块

main:入口文件,必要,当通过require('xxx')时,是读取main里声明的文件

test command:测试命令

git repository:git仓库地址

keywords:关键词,可以通过npm搜索你填写的关键词找到你的模块

author:作者信息,可以之后编辑更详细一些

license(ISC):代码授权许可

以上放心可以大胆写,因为之后反正要改。

4、配置完package.json的文件之后,用编辑器创建一个js文件,文件名和你package.json里边配置的entry point的文件名保持一致,用module.exports导出模块即可。此js文件,及为模块的相关文件。

module.exports = function(){
  //模块的代码逻辑    
}

把编写的js文件,保存到你刚刚创建的testnpm文件夹当中去。

5、回到命令行中,如果命令行在当前文件夹中,直接输入npm publish既可发布模块。(若不在当前文件夹中,则需要输入npm publish 你的文件夹名字,来进行模块的发布)。npm publish testnpm

6、如果发布过程中,提示:npm ERR! you do not have permission to publish "your module name". Are you logged in as the correct user? 即表示包的名字被占用了,可以通过访问npm的网站来进行包的搜索该模块是否存在。如果中途没有报任何错误,即表示模块已经成功发布,可以通过npm install 你的模块名,来进行安装使用了。

自己也可以通过输入npm view 你的模块名,来查看模块是否发布成功,如果发布成功,会返回模块的配置信息。可以通过npm --force unpublish 你的模块名,来删除发布的模块(超过24小时就不能删除了)。

关于模块的更新,和上传使用的是一样的指令,即npm publish(npn publish 你的模块名),只是需要修改package.json的版本号。关于版本号的规范,可以参照npm关于版本号的一些规范说明。

其他:管理包权限

查看模块拥有者 $ npm owner ls

添加一个发布者 $ npm owner add

删除一个发布者 $ npm owner rm

需求及问题提交:

点击图片更换数字

0.4772s