zoukankan      html  css  js  c++  java
  • 代码生成器重构

    NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用

    背景

     

    利用现有的开源框架,做了一个代码生成工具,因为以后都打算用这个工具,就重构了代码、更新了文档和完善了示例。这篇文章简单介绍一下工具的组成和API文档的使用。一则:为了我的团队成员;二则:为了让需要的朋友可以下载使用。

     

    为什么要使用这个工具

     

    • 简单:核心就2个类+四个API方法、asp的模板语法(ejs)、为了方便代码生成,数据库元数据做了预处理(如:可空类型、C#类型的字符串表示)。
    • 快捷:比如:你按照三层架构定义了3个模板,且你的数据库有10个表,一个方法调用会生成30个文件(目标可以自定义)。
    • 文档齐全:中文文档,不懂英文也OK。
    • 容易DIY:没有限制、没有升级。
    • 元数据定义方便:动态类型,想咋弄咋弄。

     

    工具结构

     

    工具下载:http://yunpan.cn/Q5FrvqT46Ujum

     

     

    示例生成项目

     

    项目结构

     

     

    执行代码

     

    test.js

     

    复制代码
     1 var util = require('util');
     2 var _ = require('underscore');
     3 
     4 var DatabaseSchemaReader = require('database_schem_reader').DatabaseSchemaReader;
     5 var CodeGenerator = require('code_generator').CodeGenerator;
     6 
     7 var schemaReader = DatabaseSchemaReader.createSqlClientReader(
     8     'Data Source=(LocalDB)\\v11.0;AttachDbFilename=' + __dirname + '\\test_database\\Test.mdf;Integrated Security=True;Connect Timeout=30'
     9 );
    10 
    11 schemaReader.readAll(function (error, schema) {
    12     _.each(schema.tables, function (table) {
    13 
    14         CodeGenerator.executeTemplateDirectory('./templates/table', {
    15             table: table,
    16             baseNamespace: 'Test'
    17         });
    18 
    19     });
    20 
    21     console.log('success!')
    22 });
    复制代码

     

    备注

     

    欢迎朋友们下载使用,我可以义务支持。

  • 相关阅读:
    最小费用最大流
    bzoj1070[SCOI2007]修车
    bzoj1877[SDOI2009]晨跑
    bzoj2879[NOI2012]美食节
    bzoj1834[ZJOI2010]网络扩容
    Tic-Tac-Toe-(暴力模拟)
    javascript慕课入门
    hdu2586-How far away ?-(最近公共祖先-Tarjan离线算法)
    CSS初识盒子
    CF1047C-Enlarge GCD-(欧拉筛+gcd+唯一分解定理)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3083197.html
Copyright © 2011-2022 走看看