利用node . js制作命令行工具方法教程(一)

  

  

之前使用过一些全局安装的NPM包,安装完之后,可以通过其提供的命令,完成一些任务。比如Fis3,可以通过<代码> Fis3服务器启动开启fis的静态文件服务,通过fi <代码> s3发布开启文件编译与发布;还有vue-cli,可以通过<代码> vue init webpack我的项目>   

  

命令的目标:在当前目录下开启一个静态文件服务,端口号为8085

  

<强> 1。创建目录

  

构成命令的基础是需要一个命令文件web.js和package.json配置文件,执行以下命令:

        mkdir node-commander #美元创建一个文件夹      $ cd node-commander,,mkdir本      美元npm init #初始化package.json文件& lt; br> $ cd箱,,联系网络。js #创建命令文件      

<强> 2。命令文件

        # !/usr/bin/env节点            var=需要表达(表达);      var=process.cwd路径();            函数运行(argv) {      如果(argv [0]===' v ' | | argv[0]===姹?{      控制台。日志(版本1.0.0);      }      else if (argv [0]===? h”| | argv [0]===猦elp) {      console.log(“用法:\ n”);      控制台。日志(' - v -版本(显示版本)')      }      else if (argv [0]===' s ' | | argv[0]===笨嫉?{      应用var=new表达();      app.use(/静态,express.static(路径));      app.listen(8085年,函数(){      控制台。日志(服务器在端口8085上启动);      });      }      }            运行(process.argv.slice (2));之前      

文件的头部务必加入<代码> # !/usr/bin/env节点>   

其过程中为节点进程中的全局变量,process.argv为一数,组数组内存储着命令行的各个部分,<代码> argv[0]> argv[1]>         节点。/bin/网络。js a b c      #过程。argv的值为(“/usr/地方/bin/节点”、“/web/路径。js”、“a”、“b”、“c”)      

<强> 3。命令配置

  

在package.json文件中添加本字段:

        "本":{      “网络”:“。/bin/web.js”      },      

本字段的作用:当安装npm包时,npm将添加一条命令<代码>/usr/地方/bin/web>   

  

<强>(1)采用安装方法

  

进入npm包目录下,执行全局安装,根据package.json中本的配置,为全局命令创建软连。

        # sudo npm安装。- g/usr/local/bin/web→/usr/local/lib/node_modules/cli-demo/bin/web.js/usr/local/lib      ”——cli-demo@1.0.0   …      

查看网络命令
  

        #这网络/usr/local/bin/web      

执行网络命令
  

        #网络——开始      服务器在端口8085上启动      

<强>(2)采用npm链接方法

  

<代码> npm联系方法创建了两个软连,命令与命令文件的软连,全局包与实际包文件的软连。

        # sudo npm链接/usr/local/bin/web→/usr/local/lib/node_modules/cli-demo/bin/web.js/usr/local/lib/node_modules/cli-demo→/用户/百度/hwm/home/演示/节点/node-commander      

接下来可以按照方法(1)进行操作了。

  

发布命令包

  

通过<代码> npm发布进行发布,前提是有npm帐号。如何操作可以查看npm官方文档。

  

本文是通过原生node . js来开发命令工具,而<代码> vue-cli>   

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

利用node . js制作命令行工具方法教程(一)