aui/tmodjs

问下压缩策略问题

riskers opened this issue · 3 comments

现在,一些模版是共用的,在Public里,一些不是共用的,在tpl里。按照demo里写的,就把所有页面的模版都压缩在一个template.js里了,这样会不会很大?而且我感觉也不爽,因为用不到的模版也加载进来了。
请问这样怎么解决?是分成多个template.js么,这样的话,使用tmod命令就挺麻烦的。纠结~~
希望给出一个方向。。。

aui commented

可以不让它合并,即每个模板单独输出一个 js 文件,再使用第三方打包方案

说一下,我现在使用的gulp watch监测文件,然后combo设置成false,模版js文件就分开了:

var gulp = require('gulp');
var tmodjs = require('gulp-tmod');
var watch = require('gulp-watch');

gulp.task('ttt', function(){

    return gulp.src('./tpl/*.html')
            .pipe(tmodjs({
                base: './tpl',
                combo: false ,
                output: './dist' 
            }));

});

gulp.task('watch', function(){

   gulp.watch('./tpl/*.html',['default'])

});

我现在的做法是使用tmodjs 生成cmd模式,再使用grunt concat合并,页面加载时报模板错误。
cmd生成以下两个文件
tpl\memberList.js;
tpl\memberView.js;
现在想把这两个文件合并成member.js

<script type="text/javascript">
    seajs.config({
        base: "../scripts/",
        alias: {
            "zepto": "zepto/zepto-cmd.min",
            "fastclick": "fastclick.min",
            "member": "tpl/member",
            //"member-list": "tpl/memberList",
            //"member-view": "tpl/memberView",
            "home": "modules/src/home"
        }
    });

    seajs.use("home");

</script>

home中我这样写,报模板错误
var template = require("member");
$("#member_list").append(template("memberList"/模块Id/, { list: data.Data }));
请教一下我该怎么写呢?