項目效率-模板生成

需求背景

建立項目目錄與項目文件時會出現不少重複性的工做,例如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…
緩存

相關文章
相關標籤/搜索