用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 MD4
Dec 20 Javascript
JQuery jsonp 使用示例代码
Aug 12 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
Nov 26 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
May 28 Javascript
JavaScript中的作用域链和闭包
Jun 30 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
Mar 04 Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
js实现每日签到功能
Nov 29 Javascript
vue-router源码之history类的浅析
May 21 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
Mar 10 Javascript
JavaScript面向对象核心知识与概念归纳整理
May 09 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 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
深入解析php之sphinx
2013/05/15 PHP
php反射应用示例
2014/02/25 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
php提取微信账单的有效信息
2018/10/01 PHP
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
JS中的phototype详解
2017/02/04 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
Python 音频生成器的实现示例
2019/12/24 Python
10张动图学会python循环与递归问题
2021/02/06 Python
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
如何写出好的Java代码
2014/04/25 面试题
农民工工资承诺书范文
2014/03/31 职场文书
说明书格式及范文
2014/05/07 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
房屋所有权证明
2014/10/20 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
运动会1000米加油稿
2015/07/21 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Python实现制作销售数据可视化看板详解
2021/11/27 Python