博客
关于我
用node开发一个生成react项目的cli工具
阅读量:796 次
发布时间:2023-03-24

本文共 761 字,大约阅读时间需要 2 分钟。

我们经常使用create-react-app、vue-cli来快速生成一个新的react或者vue项目,它们的原理是什么,下面就带使用node来开发一个简单的react-cli工具,来揭开其神秘的面纱。

为了更好的和命令行界面交互,我们选择使用commander。

然后编写cli需要实现的功能。

此时,在控制台里执行node index.js -h,会出现以下界面。

为了遵循"用户即爸爸"原则,我们添加辅助函数,当用户没输入任何参数,即执行node index.js时,显示帮助信息。

为了获取用户输入,我们选择使用inquirer。

在这里我们写了个setProjectName方法来获取需要创建项目的名称。

执行snake init snake-demo(ps:如果init后面没有项目名,则会提示新建)

在这里我维护了两套react模板供选择,放在src目录下去,大家可以根据需求修改或者选择自己的,当然,可以忽略该目录,毕竟该博文主要是介绍如何用nodejs开发一个cli工具的,并不是react教程,哈哈。选择其中一项之后,就会出现以下提示。

在我们生产的项目目录下执行snake view Test,就会在src/view目录下面自动生成一个Test.jsx的react component。

ps:可以在package.json配置bin字段,bin项用来指定各个内部命令对应的可执行文件的位置。

上述代码即snake命令对应的可执行文件为bin子目录下的bin/index.js,npm会寻找这个文件,在node_modules/.bin/目录下建立符号链接。由于node_modules/.bin/目录会在运行时加入系统的PATH变量,因此在运行npm时,就可以不带路径,直接通过命令来调用这些脚本。

转载地址:http://seqfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现检查给定图中是否存在循环算法(附完整源码)
查看>>
Objective-C实现检查给定字符串是否在camelCase中算法(附完整源码)
查看>>
Objective-C实现检查给定的字符串是否在kebabcase中算法(附完整源码)
查看>>
Objective-C实现检查给定的字符串是否在snake_case中算法(附完整源码)
查看>>
Objective-C实现检查给定的字符串是否是扁平(全部小写)的算法(附完整源码)
查看>>
Objective-C实现检检查回文字符串(区分大小写)算法(附完整源码)
查看>>
Objective-C实现检测U盘的插入与拔出 (附完整源码)
查看>>
Objective-C实现检测列表中的循环算法(附完整源码)
查看>>
Objective-C实现检测耳机插拔功能(附完整源码)
查看>>
Objective-C实现模拟键盘鼠标(附完整源码)
查看>>
Objective-C实现模板方法模式(附完整源码)
查看>>
Objective-C实现欧几里得距离(附完整源码)
查看>>
Objective-C实现欧几里得距离(附完整源码)
查看>>
Objective-C实现欧拉路径和欧拉回路算法(附完整源码)
查看>>
Objective-C实现正向CMDShell(附完整源码)
查看>>
Objective-C实现正数num使用递归找到它的二进制算法(附完整源码)
查看>>
Objective-C实现水波纹显示效果(附完整源码)
查看>>
Objective-C实现求 1 到 20 的所有数整除的最小正数算法 (附完整源码)
查看>>
Objective-C实现求1000以内的全部亲密数(附完整源码)
查看>>
Objective-C实现求a的逆元x(附完整源码)
查看>>