使用node打造自己的命令行工具方法教程


Posted in Javascript onMarch 26, 2018

一、实现一个简单的功能

使用node打造自己的命令行工具方法教程

二、环境

1.系统: window 10
2.编辑器: vscode
3.node版本: 8.7.0

三、开始玩

1.打开命令行,新建一个pa'ckage.json

npm init

这时看到一个新的package.json生成了,使用编辑器打开

2.修改package.json,新增一个bin属性

{
   "name": "my-cli",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "bin": { // 增加bin属性
     "auto": "./bin/cli.js" 
     // 左边的crp是定义的命令行的名字,可以自己随便取, 右边是命令行输入 crp 时会执行的文件(一定要在bin文件夹下)
   },
   "scripts": {
    
   },
   "keywords": [],
   "author": "",
   "license": "ISC"
  }

3.新建一个cli.js在当前的目录下, 简单修改

console.log('hello world')

4.然后转到命令行, 输入

npm link

5 查看一下效果

使用node打造自己的命令行工具方法教程

正确打印出hello world就是成功了

6.实现预览的效果

原理就是执行cli.js的时候,会读取自己设定好的模板,然后在当前的目录下生成一个文件,

写入模板的内容,简单的代码如下

#! /usr/bin/env node
  const fs = require('fs')
  const exec = require('child_process').exec
  var args = process.argv.slice(2) // 可以通过process.argv这里获得你输入的参数
  //读取内容(在当前的目录下新建template文件夹和加入一个template.vue的模板)
  var content = fs.readFileSync('./template/template.vue')
  //生成内容
  fs.writeFileSync(args[0], content)
  // 使用vscode打开
  exec('code ' + args[0])

然后放开你的脑洞, 你就能组合出许多你自己喜欢的命令来享受你的工具了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
这些年、我收集的JQuery代码小结
Aug 01 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
Jun 24 Javascript
js创建元素(节点)示例
Jan 02 Javascript
js与jquery回车提交的方法
Feb 03 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
浅谈通过JS拦截 pushState和replaceState事件
Jul 21 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
使用Vue 实现滑动验证码功能
Jun 27 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 #Javascript
js构建二叉树进行数值数组的去重与优化详解
Mar 26 #Javascript
红黑树的插入详解及Javascript实现方法示例
Mar 26 #Javascript
js+canvas实现滑动拼图验证码功能
Mar 26 #Javascript
JS从非数组对象转数组的方法小结
Mar 26 #Javascript
深入理解Node module模块
Mar 26 #Javascript
利用Console来Debug的10个高级技巧汇总
Mar 26 #Javascript
You might like
跟我学Laravel之视图 & Response
2014/10/15 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
Javascript事件实例详解
2013/11/06 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
10款最好的Web开发的 Python 框架
2015/03/18 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
python3中property使用方法详解
2019/04/23 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python实现邮件发送功能
2019/08/10 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
Delphi笔试题
2016/11/14 面试题
英文商务邀请信
2014/01/22 职场文书
四查四看剖析材料
2014/02/14 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
2015年工会工作总结
2015/03/30 职场文书
医德医风学习心得体会
2016/01/25 职场文书
python运算符之与用户交互
2022/04/13 Python