宝哥软件园

以vue-cli为例 详细讲解如何使用Node.js编写命令工具——

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

在全局安装vue-cli后,提供了vue命令和vue init、vue list和vue build,通过它们可以构建基于vue.js的脚手架项目。本文简要介绍了这些命令是如何实现的。

vue-cli项目目录

如下图所示,上一篇文章介绍了在npm安装过程中,可以使用package.json中bin字段的配置,将bin目录中的命令文件连接到全局命令。也就是说,在/usr/local/bin下生成了四个软连接命令:vue、vue-build、vue-list和vue-init。

vue命令的源代码

#!/usr/bin/env节点要求(' commander ')。版本(需要('./package ')。版本)。用法('命令[选项])。命令(“初始化,从模板生成新项目”)。命令(' list ','列出可用的官方模板')。命令(' build ','原型化一个新项目')。这个命令是由commander.js实现的.指挥官的主要方法:

(1)parse:用于解析process.argv并将process.argv.slice(2)赋给program.args;

(2)命令:创建一个子命令。子命令由command子命令[options]使用,实际调用的命令是command-子命令。如果使用命令行执行vue列表,实际上是在执行vue-list全局命令;

(3)选项:主要设置命令的参数,并提供参数对应的描述文档。默认选项是- help。

vue-init子命令的实现

vue-init的主要功能是将项目模板文件(官方的或自制的)从指定的git目录拉到指定的目录。用法如下

$ vue init模板-名称项目-名称仍然需要解析process.argv在这里,所以将commander.js引入vue-init来生成一个程序

程序。用法('模板名[项目名])。选项('- offline ','使用缓存模板')/** *帮助。*/function help(){ program . parse(process . argv)if(program . args . length 1)return program . help()} help()下一步是拉模板文件,处理后放入输出目录,以及如何实现。接下来会有专门的文章介绍vue-cli命令的实现原理,敬请期待!

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+