建立项目目录与项目文件时会出现不少重复性的工做,例如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缓存功能,这个函数会触发
}复制代码
根据配置页面的目录结构,生成项目目录结构,根据每一个文件的文件类型,模板等生成相应的文件模块数据库