node-maker 开发中模板生成工具
来源:互联网 发布:mysql 查询表索引 编辑:程序博客网 时间:2024/05/16 14:55
类似于一个简易的模板引擎,可以在本地通过模板创建出项目中需要的文件或者copy代码。
可以参考:
https://github.com/myhirra/node-maker
代码目前还是不断完善中。
在项目开发的过程中,经常要去创建一些文件,而这些文件往往都长得差不多。新来的同学们往往会去copy项目中已有的代码,然后再修修改改,当然老同学也很有可能去这样做。其实我们现在来想一下,这个过程其实是很浪费时间的,明明是差不多的代码,而且往往很多难记,所以我们不得不去copy现有的代码,类似”模板“一样的代码。
其实这个环节我们完全可以用工具来代替,来节约大家的时间,这也完全符合前端工程化
的思想。目前这个工具支持两种功能:
- 1、通过模板生成文件
- 2、复制文件内容到剪贴板
一、用法
- 安装相应组件
npm install
- 写入口函数
入口函数可以参照demo目录里的写法,demo实现了两种功能。
1) 通过模板生成文件
2) 复制文件内容到剪贴板
//生成文件var template = new Template({ data: { methodName: methodName, fileName: fileName }, tempPath: path.resolve(__dirname + '/templates'), projectPath: path.resolve(config.projectPath)})template.create();//copy文件内容var template = new Template({ codesPath: path.resolve(__dirname + '/codes')})template.copy(fileName);
二、参数
1) data
指模板文件tpl里所需要的变量,例如模板文件里用的是,那data对象里需要给出test对应的值。
2) tempPath
指模板文件的目录,要写绝对路径。
3) projectPath
输出的文件目录。
4) codesPath
指定需要copy到剪贴板的文件的目录。
三、模板语法
1) 头部meta
以/—开头,以—/结尾。一般在这写相对projectPath
的路径
2) 代码内容
除了meta的部分就是代码内容。需要渲染的参数以’开头,以’结尾。
例如:
3) 模板全名规范
*.tpl 。即以tpl为后缀名。
四、实现方式
—demo 一些实际使用的示例
—libs 可能会用到的一些库
—templates.js 核心代码
//模板的核心代码content.replace(new RegExp(leftFlag + '(\\w+)' + rightFlag, 'g'), function() { return data[arguments[1]];});//拿头部时候的核心代码content.substring(leftIndex + leftFlag.length, rightIndex).trim();//copy的核心代码//copy主要是用到了一个库copy-pasterequire('copy-paste').copy('test',function(){});
0 0
- node-maker 开发中模板生成工具
- 家德瑞的自动生成工具Maker
- Android Button Maker:在线生成按钮代码的工具
- 快速游戏开发工具GameMaker,Action Game Maker使用体验
- HTML5模板生成工具
- CCF模板生成工具
- java生成exe工具之exe4j.exe(Java Exe Maker)的使用和注意事项
- Android Button Maker(在线生成android shape xml文件的工具),真方便!
- Node.js命令行工具开发
- gobject 模板对象生成工具
- 开发Rpg maker第一弹
- MAKER
- [C#]一步一步开发自己的自动代码生成工具之五:DAL层模板
- [C#]一步一步开发自己的自动代码生成工具之六:业务层模板
- node.js express中使用jquery模板
- VS开发工具文件模板
- 二、磨刀不误砍柴工(node开发工具)
- 推荐15个 Node.js 开发工具
- ESIC Sr Resident & Specialist Final Results 2015
- Eclipse Luna安装Hibernate Tools 4.2.3不显示,设置Eclipse运行的JDK
- Android数据库代码优化(3) - 从Cursor中读数据
- Android学习之教你五步搞定Sensor,让程序更酷
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
- node-maker 开发中模板生成工具
- ARM汇编外部中断
- 二叉树的一些基本操作
- Mac下安装MySQL
- POJ 3164 Command Network (最小树形图-朱刘算法)
- 针对piix4_smbus ****host smbus controller not enabled的解决方法
- Xcode 真机调试教程 ios项目最新真机调试教程
- poj 2031 zoj 1718 Building a Space Station(最小生成树)
- LeetCode_Search Insert Position