建立項目目錄與項目文件時會出現不少重複性的工做,例如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緩存功能,這個函數會觸發
}複製代碼
根據配置頁面的目錄結構,生成項目目錄結構,根據每一個文件的文件類型,模板等生成相應的文件模塊數據庫