本文旨在通过指导命令行项目开发,帮助前端新人了解相关的 npm 实用开发包、理解掌握有关知识和技巧。也希望能帮助 IT 从业者快速打造一款心仪、可开发性强的命令行工具。
阅读本文需要读者具有 node.js 运行和 npm 包管理的基本了解,确保安装好 node.js 和 IDE 开发工具。
好包推荐
核心库:
Commander.js
面向对象的命令行参数解析库,可扩展性极强,自动生成帮助信息。该库被其他前端著名框架采用,API 见中文文档。
请不要按某些 C++ 教材说的做法:自己手写 argv 解析算法了。避免重复造轮子了。
ts-node
让 node.js 能运行 TypeScript 代码
体验优化库:
Inquirer.js
命令行获取用户输入的界面编程接口,问姓、问名、问要不……
界面极其优雅,看不到 github 图片效果见码云镜像项目
妈妈再也不用担心 cin、cout 写用户界面太垃圾啦~
辅助技术:
知识点和小技巧
npm scripts
详见: https://www.ruanyifeng.com/blog/2016/10/npm_scripts.html
避免 npm 全局安装
在很多老旧 IT 资料教你安装 typescript 编译器、create-react-app vue-cli angular-cli 创建前端项目、使用 eslint 等命令行工具,它会让你这样安装:
# 过时示范
npm install <package_name> -g
<package_name> ... # 执行
有了 npx,你可以直接 npx <package_name> ...
。原理阮一峰博客有解。
进阶
沙箱环境
推荐一套由原生 vm 改进的沙箱 JS 代码执行库 vm2