用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实现分割提取页面所需内容
May 09 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 Javascript
理解JavaScript的变量的入门教程
Jul 07 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
Feb 05 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
如何理解Vue的作用域插槽的实现原理
Aug 19 Javascript
旺旺在线客服代码 旺旺客服代码生成器
Jan 09 Javascript
Vue列表渲染的示例代码
Nov 01 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 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调用数据库的存贮过程!
2006/10/09 PHP
php 生成WML页面方法详解
2009/08/09 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php查询ip所在地的方法
2014/12/05 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
js获取页面传来参数的方法
2014/09/06 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
tensorflow识别自己手写数字
2018/03/14 Python
python计算两个数的百分比方法
2018/06/29 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
python和c语言哪个更适合初学者
2020/06/22 Python
Django实现随机图形验证码的示例
2020/10/15 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
类和结构的区别
2012/08/15 面试题
教师自荐书
2013/10/08 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
企业文明单位申报材料
2014/05/16 职场文书