手机版

Nodejs发布了自己的npm包 并使其成为命令行工具的一个例子

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

span style=' font-family : arial,Helvetica,无衬线;背景-颜色:rgb(255,255,255);'最近,当我使用一个已经存在于npm上的包时,我发现它有bug。所以我决定自己实现这个功能,自己编写一个npm包。/span接下来,我将记录我的实施过程。

1.npm初始化

选择一个文件夹,然后使用命令行cd输入它,然后执行npm init。这时会生成一长串表格,内容会根据你的实际情况填写

名称:填写你的包的名称,默认是你的文件夹名称。但是,这里需要强调的是,最好去npm了解一下是否有同名的包。最好的测试方法是在命令行中输入npm install的名称。如果报告了错误,那么它是好的。npm上没有同名的包,因此您可以安全地释放该包。如果下载成功。那很不幸,改个名字。

版本:默认情况下,您的包的版本是1.0.0

描述:其实我也不知道是什么。只需按回车键。这用一句话描述了你的包是干什么用的

入口点:入口文件默认为Index.js,也可以填写自己的文件名。

测试命令:测试命令,直接按回车就可以了,因为还不需要这个。

Git存储库:这是git存储库地址。如果您的包首先放在github或其他git存储库中,将会有一个隐藏的。文件夹中的git目录,npm会将该目录作为该项目的默认值读取。如果没有,就输入并继续。

关键词:这是很重要的一点,关系到有多少人会搜索你的npm包。尝试使用适当的关键字作为此包的索引。我的包首先在express下工作,然后是一个插件插件,然后是一个注册的路由,它是基于文件目录dir的,所以得到我的包的索引键是很好的。

作者:写下你的账号或github账号

许可证:这是一个直接回车,一个开源文件。

然后它会问你你还好吗?

输入Ok!

然后我们回到文件目录,发现有一个额外的package.json文件

然后,在目录中创建新的index.js文件,或者如果您刚刚修改了入口点的值,那么您的文件名将被更改为该值。

我的npm项目目录结构是这样的。请注意,bin文件夹是我为了制作命令行工具而生成的。稍后,我将讨论如何生成命令行工具。当然,如果不想生成命令行工具,这个文件夹是不必要的。

因为我在lib中抛出了所有封装的代码,所以index.js中只有一句话:

Module.exports=require('。/lib’)然后,最重要的是,写README.md,一个为每个人描述你的包的降价文件。如果大家都不知道你的代码是做什么的,会有人下载你的代码吗?哦,是的,最好用英语写。

2.npm发布

在编写自己的npm包后,您可以在测试顺利运行后将其发布到npm

首先,您必须注册一个npm帐户

使用npm命令登录

然后,在您的目录中使用npm发布

注意:一般来说,一旦想要修改发布的代码,然后执行发布操作,就必须转到package.json,更改版本,例如从1.0.0到1.0.1,然后执行npm发布,这样才能成功发布。

3.生成命令行工具

在使用Nodejs的过程中,很多包都支持全局安装,提供一个命令,然后我们就可以在命令行上完成一些任务。有时我们需要开发这样的命令工具。在Node.js中很容易找到命令行工具,我使用命令包来生成命令行工具

$ npm安装命令然后cd到bin目录,创建一个新的。js文件(取自己的名字),编写代码,并添加#!/usr/bin/env节点

比如我的geAsar.js:

#!/usr/bin/env node var asar=require('./lib/geAsar')var程序=require(' commander ');program.version('v' require('./package.json ')。版本)。描述('操纵asar存档文件')程序.命令('打包目录输出')。别名(' p ')。描述(“创建asar档案”)。action(function(_ dir path,output){ asar . geasar(_ dir path,output);Console.log(输出“文件成功生成”);})程序。解析(进程。如果(程序。啊。length===0) {program。help ()}然后将其添加到package.json中

Bin' : {'geasar' : '。/bin/geasar.js'},运行节点bin/geasar.js将显示当前文件夹下的所有文件和文件夹名称。这东西真的在跑。

全局运行命令调试

安装如果在项目目录中运行没有问题,可以将当前目录模块安装到全局,或者可以使用此方法更新命令行工具

sudo npm安装。g

或者,当目录进入npm链接时,全局符号链接将自动添加,然后您可以使用自己的命令。(我用这个)

以上Nodejs发布自己的npm包并将其制作成命令行工具的例子,就是边肖与大家分享的全部内容,希望能给大家一个参考和支持。

版权声明:Nodejs发布了自己的npm包 并使其成为命令行工具的一个例子是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。