发布一个npm包来帮助理解npm的使用
Npm在前端工程中起着不可或缺的作用。前端工程师每天通过npm安装项目依赖项,通过npm发布自己的包和更新包,通过npm脚本、包等运行开发环境。
我通常专注于实现业务,但我从未理解过包的发布过程。我从繁忙的日程中休息了一下。今天,我将体验编写和发布一个包的过程,记录下来并与大家分享。
包的诞生过程无非就是:编写-测试-发布-迭代-测试-发布。
初始化项目
Mkdir数学工具演示新文件夹
Npm init初始化package.json文件,并根据提示输入项目信息:
包名项目名版本描述版本描述入口点入口文件测试命令git存储库git仓库地址关键字关键字信息作者作者协议等。
向npm init -y:添加-y标志,并在默认情况下直接生成它。
将代码写在包中
特点包括:我们实现了一个小工具的加法,减法,乘法和除法。
创建一个新的index.js条目文件
module.exports={ add:add,minus:minus }函数add(num1,num 2){ if(type of num 1==' number ' type of num 2==' number '){ return num 1 num 2;}else{ throw('参数必须是number ')} }函数减(左,右){ if(type of left==' number ' type of right==' number '){ return left-right;} else {throw('参数必须是数字')}}测试
测试无非就是介绍编写好的模块和运行测试用例,这里就不多说了。
发布
Npm登录登录。输入帐户密码电子邮件地址。如果没有账号,先申请:链接。
Npm发布:发布书面包
失败:重复名称或修改包名,如:
重新发布:npm发布:成功!默认版本是1.0.0
如何迭代发布的包
当包发布时,bug是不可避免的。当然,作者也会考虑扩展函数,修复bug或者迭代函数需要同步代码修改到远程仓库。
修改代码
例如,进行了以下修改:
module.exports={ add:add,minus:minus }函数add(){ var left=arguments[0];var right=参数[1];if(type of left==' number ' type of right==' number '){ return left right;}else{ throw('arguments必须是number') } }function减(){ var left=arguments[0];var right=参数[1];if(type of left==' number ' type of right==' number '){ return left-right;} else {throw('参数必须是数字')}}修改版本号
我们可以直接在package.json中更改版本字段值。
但是,最好使用npm提供的命令来修改版本号(例如,目前的v 1 . 0 . 0):
Npm版本补丁- 1.0.1:是小修改,功能不变。使用npm版本minor - 1.1.0:可能会增加一些功能,但不会影响以前的使用。Npm版本major - 2.0.0:可能已经更改了API并进入了大范围的修改。详细步骤:关于npm语义版本
发布
npm发布如何使用已发布的包
在npm仓库中搜索包名,然后分别输入npm install packageName -S [-D]作为依赖项或开发依赖项。以我们刚刚发布的包为例:
首次使用此软件包npm install -S math-tool_demo来安装刚刚发布的软件包
在index.js中引入和使用:
var math=require(' math-tool _ demo ')var addRes=math . add(1,2);var minusRes=.减(1,2);正在使用Console.log(地址,缺点),//输出:3,-1,包可能已经迭代更新
Npm过时检查项目包. json中定义的每个包在远程仓库中是否有新版本
找到了一个新版本,目前使用1.0.0,最新版本是2.0.0。
npm更新的更新包[packageName]
打字后没有发现回应,没有更新包。
检查package.json中的包依赖关系定义
有三个版本定义:
直接写确切的版本号:比如1.0.0不移动,但是如果有功能更新,就用新版本:1.0.0比较保守,只能稍微更新,比如bug修复等。~ 1.0.0 1.0.0表示=1.0.0 1.2.0
~1.0.0表示=1.0.0 1.1.0
因此不允许更新到2.0.0,package.json中的版本号只能手动更改和更新。
为什么会变成这样?因为第一个数字意味着重大变化,轻率的更新可能会带来不可预测的后果
传输门:NPM-日期,国家预防机制-更新
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:发布一个npm包来帮助理解npm的使用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。