项目效率-模板生成

需求背景

建立项目目录与项目文件时会出现不少重复性的工做,例如java根据表字段生成实体类,这些都有现成的工具。除此以外,不单单是java,甚至于其余开发文件,js,ts甚至于vue文件都有很多重复的工做。固然不少ide已经帮咱们解决了很多问题,例如用vscode就能够自定义模板而后生成模板里面的内容。还没有解决的两个痛点,第一目录层级控制,第二动态数据插入(数据能够来自于接口,数据库,自定义的模板)vue

实现效果

模板一java

public class Result {
  <% _.forEach(tests, function(test) { %> private <%- test.type %>  <%- test.name %>;
  <% }); %> 
}复制代码

生成node

public class Result {
  private String name;
  private long id;
}复制代码

模板二git

export default {
  name: 'componentName',
  //import引入的组件须要注入到对象中才能使用
  components: {},
  data() {
    //这里存放数据
    return {}
  },
  //监听属性 相似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {},
  //生命周期 - 建立完成(能够访问当前this实例)
  created() {},
  //生命周期 - 挂载完成(能够访问DOM元素)
  mounted() {},
  beforeCreate() {}, //生命周期 - 建立以前
  beforeMount() {}, //生命周期 - 挂载以前
  beforeUpdate() {}, //生命周期 - 更新以前
  updated() {}, //生命周期 - 更新以后
  beforeDestroy() {}, //生命周期 - 销毁以前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {} //若是页面有keep-alive缓存功能,这个函数会触发
}
复制代码

生成(替换某个字符串)github

export default {
  name: 'myComponent',
  //import引入的组件须要注入到对象中才能使用
  components: {},
  data() {
    //这里存放数据
    return {}
  },
  //监听属性 相似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {},
  //生命周期 - 建立完成(能够访问当前this实例)
  created() {},
  //生命周期 - 挂载完成(能够访问DOM元素)
  mounted() {},
  beforeCreate() {}, //生命周期 - 建立以前
  beforeMount() {}, //生命周期 - 挂载以前
  beforeUpdate() {}, //生命周期 - 更新以前
  updated() {}, //生命周期 - 更新以后
  beforeDestroy() {}, //生命周期 - 销毁以前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {} //若是页面有keep-alive缓存功能,这个函数会触发
}复制代码


场景

根据配置页面的目录结构,生成项目目录结构,根据每一个文件的文件类型,模板等生成相应的文件模块数据库

技术栈

  1. lodash中的template
  2. nodejs中fs

git地址(项目起步)

github.com/fodelf/gene…
缓存

相关文章
相关标签/搜索