用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面向对象编程代码
Dec 19 Javascript
jquery提交form表单时禁止重复提交的方法
Feb 13 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
javascript基于DOM实现省市级联下拉框的方法
May 14 Javascript
xmlplus组件设计系列之图标(ICON)(1)
May 05 Javascript
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
Vue实现动态添加或者删除对象和对象数组的操作方法
Sep 21 Javascript
微信小程序后端(java)开发流程的详细步骤
Nov 13 Javascript
vue+elementUI实现简单日历功能
Sep 24 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 Javascript
JS实现百度搜索框
Feb 25 Javascript
使用javascript解析二维码的三种方式
Nov 11 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 模拟POST提交的2种方法详解
2013/06/17 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
php字符串函数学习之substr()
2015/03/27 PHP
javascript 继承实现方法
2009/08/26 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
django中send_mail功能实现详解
2018/02/06 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python修改txt文件中的某一项方法
2018/12/29 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
中文系师范生自荐信
2013/10/01 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
超市创业计划书
2014/04/24 职场文书
工厂搬迁方案
2014/05/11 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
四风问题对照检查材料
2014/09/22 职场文书
2014年小学工作总结
2014/11/26 职场文书
写景作文评语集锦
2014/12/25 职场文书
贪污检举信范文
2015/03/02 职场文书
幼儿园六一主持词
2015/06/30 职场文书
服装店员工管理制度
2015/08/07 职场文书
话题作文之学会尊重
2019/12/16 职场文书