用Node写一条配置环境的指令


Posted in Javascript onNovember 14, 2019

前言

工作中需要维护一个极老的项目,说来话长。在平时当需要往项目里添加新的模块时,我需要手动添加的东西太多了。由此希望通过编写一条node命令,可以让我一键完成配置我需要配置的东西,比如:路由,控制器,less文件等。最后我只需要在生成的模板index.jsx中写我们可爱的模块代码就行了。

用Node写一条配置环境的指令

如何创建Node命令?

$ mkdir my-plugin
$ cd my-plugin
$ npm init --yes

配置package的脚本命令

{ "name": "12", "version": "1.0.0", "description": "", "main": "index.js", "scripts": {  "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "bin": {  "autocode": "bin/wflow.js" }, "dependencies": {  "inquirer": "^7.0.0" }}

创建脚本js

#!/usr/bin/env node
console.log('hello word');

全局安装node命令

npm install . -g

用Node写一条配置环境的指令

以上就是创建node指令的方法,下面介绍如何编写生成代码脚本。

inquirer的使用

列举用到的属性,更多用法请自行学习。

1.input

const promptList = [{
  type: 'input',
  message: '设置一个用户名:',
  name: 'name',
  default: "test_user" // 默认值
},{
  type: 'input',
  message: '请输入手机号:',
  name: 'phone',
  validate: function(val) {
    if(val.match(/\d{11}/g)) { // 校验位数
      return val;
    }
    return "请输入11位数字";
  }
}];

inquirer.prompt(promptList).then(answers => {});

效果:

用Node写一条配置环境的指令

2.list

const promptList = [ {  type: "list",  message: "作者帅吗:",  name: "iscool",  choices: ['帅','一般帅'], }, { type: "list", message: "帅得什么级别:", name: "client", choices: ['吴彦祖','彭于晏'], when:function(answers){  return answers.iscool === '帅' }, filter: function(val) { }},];
inquirer.prompt(promptList).then(answers => {});

用Node写一条配置环境的指令

when用于标记此条询问何时出现!!!!

编写脚本添加模版

笔者要添加模版为以下:

用Node写一条配置环境的指令

以在page文件夹下添加index.jsx和index.module.less为例子:

function action(module_name, module_title) { 
 let url = 'https://raw.githubusercontent.com/justworkhard/Daily-Blog/master/2019-11/12/file/temp.jsx' fs.mkdir("app/page/" + module_name, () => {  fs.writeFileSync("app/page/" + module_name + "/index.module.less", "");  https.get(url,(res)=>{   res.setEncoding('utf8');    let rawData = '';    res.on('data', (chunk) => {    rawData += chunk;   });   res.on('end', () => {    fs.writeFileSync("app/page/" + module_name + "/index.jsx", rawData);   });  }) });
}

先是在page文件夹下面添加module的文件夹,使用http将线上的index.jsx模版拉下来放到创建的module文件夹下面。

结语

总的来说,通过一条node指令完成了新建模块所需的配置并不一定能节省多少时间,但却非常酷,不是吗?

链接:https://github.com/justworkhard/autocode.git

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

Javascript 相关文章推荐
javascript 命名空间以提高代码重用性
Nov 13 Javascript
Dom在ajax技术中的作用说明
Oct 25 Javascript
js拼接html注意问题示例探讨
Jul 14 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
JS HTML5拖拽上传图片预览
Jul 18 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
Less 安装及基本用法
May 05 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
基于JavaScript实现随机点名器
Feb 25 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 #Javascript
微信公众号H5之微信分享常见错误和问题(小结)
Nov 14 #Javascript
Jquery让form表单异步提交代码实现
Nov 14 #jQuery
vue之延时刷新实例
Nov 14 #Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 #Javascript
vue自定义正在加载动画的例子
Nov 14 #Javascript
如何在wxml中直接写js代码(wxs)
Nov 14 #Javascript
You might like
PHP 上传文件大小限制
2009/07/05 PHP
php分页代码学习示例分享
2014/02/20 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
javascript 表单规则集合对象
2009/07/21 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
优秀毕业生自我鉴定
2014/02/11 职场文书
求职自荐信的格式
2014/04/07 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
企业年会祝酒词
2015/08/11 职场文书
MySQL创建管理HASH分区
2022/04/13 MySQL