Skip to content

Commit 35b9942

Browse files
author
唐斌
committed
v0.1.1
1 parent f53fa4f commit 35b9942

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1041
-259
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
.DS_Store
44
*.sublime-workspace
55
node_modules
6+
demo

README.md

+15-13
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
# TmodJS
22

3-
TmodJS(原名 atc)是一个前端模板预编译工具,使用它可以实现前端模板的工程化,无论大小项目均可受益
3+
TmodJS(原名 atc)是前端模板开发工具,它采用预编译技术让前端模板实现工程化
44

55
## 为什么要使用它?
66

7-
在浏览器没有内置调试工具之前,我们依然能够完成手头上的工作,突然有一天你发现了 Firebug 等工具,你才会知道以前使用 alert 调试的日子过得多么艰苦 —— 我们应该相信:工具可以大幅度提高我们的工作效率
7+
从前,浏览器甚至都没有提供一个好用的调试工具,我们依然能够通过 alert 完成手头上的工作,似乎就这样满足了。突然有一天你使用了 Firebug 等工具后,你才会知道以前缺乏工具的日子过得多么艰苦
88

9-
对于前端开发者而言,我有理由相信 TmodJS 如同你现在手上使用的开发利器一样:一旦上手,便爱不释手
9+
现在我们手上已经有了很多基础工具用来解决前端工程中不同的问题,而在前端模板领域却一直缺乏有效的自动优化工具,而 TmodJS 便是这样一个专注于前端模板的辅助开发工具
1010

11-
### 特性概要
11+
对于前端开发者而言,TmodJS 可以像你现在手上使用的开发利器一样:一旦上手,便爱不释手。
1212

13-
0. 在开发阶段将编译模板为高性能的 js 文件
14-
1. 前端模板按文件与目录组织
15-
3. 模板之间支持引入外部模板
13+
使用 TmodJS,下面美好即将发生:
14+
15+
1. 在开发阶段将编译模板为高性能的 js 文件
16+
2. 实现前端模板按文件与目录组织,脱离页面
17+
3. 支持模板之间支持引入外部模板
1618
4. 使用同步模板加载接口
17-
5. 支持多种 js 模块输出:AMD、CMD、CommonJS
19+
5. 可选输出多种 js 模块格式
1820
6. 支持接入第三方构建工具
1921
7. 编译后的模板支持前端与后端运行
2022
8. 支持检测修改即时编译
21-
9. 支持本地调试
22-
23-
……
23+
9. 支持本地调试模板
2424

25-
若想深入了解,请继续阅读:《[进击!前端模板工程化](http://aui.github.io/tmodjs/)
25+
有点意思?请继续阅读:《[进击!前端模板工程化](http://aui.github.io/tmodjs/)
2626

2727
## 安装
2828

@@ -87,7 +87,7 @@ tmod ./tpl --debug
8787

8888
#### 1. 默认类型格式的使用方式
8989

90-
模板的``type``为默认值(``type:default``)的时候,TmodJS 默认将整个目录的模板压缩合并到一个名为 template.js 的脚本中,通常情况下你只需要在页面中引入它就好(其余的文件可暂时忽略)。例如:
90+
模板的``type``为默认值(``type:default``)的时候,TmodJS 默认将整个目录的模板压缩合并到一个名为 template.js 的脚本中,通常情况下你只需要在页面中引入它就好。例如:
9191

9292
<script src="tpl/build/template.js"></script>
9393

@@ -262,8 +262,10 @@ minify: true
262262

263263
### v0.1.1
264264

265+
* 修复无逻辑的模板在 Safari 浏览器上兼容问题
265266
* 默认开启模板实时监控。取消请使用``--watch-off``
266267
* 给压缩打包合并后的每条模板增加版本标记,例如``/*v:13*/``,以便对比线上版本
268+
* 增加``compileStart````compileEnd``事件
267269

268270
### v0.1.0
269271

bin/tmod

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var options = {};
1515

1616
var help = function () {
1717
var message = [
18-
'\x1B[7mTmodJS - Template Compiler\x1B[27m',
18+
'\x1B[7mTmodJS\x1B[27m - Template Compiler',
1919
'',
2020
'Usage:',
2121
' tmod [path] [options]',
@@ -60,7 +60,7 @@ var help = function () {
6060
var dir;
6161
var value;
6262
var userConfig;
63-
var isWatch = false;
63+
var isWatch = true;
6464
var isEditConfig = false;
6565
var args = process.argv.slice(2);
6666

src/runtime/basic.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,12 @@
132132
}
133133
};
134134

135-
render.prototype = fn.prototype = helpers;
135+
render.prototype = helpers;
136+
137+
if (isFunction) {
138+
fn.prototype = helpers;
139+
}
140+
136141
render.toString = function () {
137142
return fn + '';
138143
};

src/stdout.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,19 @@ styles['b'] = styles['bold'];
2929
styles['i'] = styles['italic'];
3030
styles['u'] = styles['underline'];
3131

32-
module.exports = function (message) {
32+
var stdout = function (message) {
3333
message = message.replace(/\[([^\]]*?)\]/igm, function ($1, $2) {
34-
return $2.indexOf('/') === 0
35-
? styles[$2.slice(1)][1]
36-
: styles[$2][0];
34+
if (styles[$2.replace('/', '')]) {
35+
return $2.indexOf('/') === 0
36+
? styles[$2.slice(1)][1]
37+
: styles[$2][0];
38+
} else {
39+
return $1;
40+
}
3741
});
3842

39-
4043
process.stdout.write(message);
4144
};
4245

46+
module.exports = stdout;
47+

0 commit comments

Comments
 (0)