我正在使用dustjs-linkedin附带的dustc来编译我的模板。但是,它只允许我一次编译一个模板。因此,我保留了两个目录,templates/和js/templates/,并使用以下脚本一次性编译它们:
#!/bin/bash
for name in `ls templates/ | grep -o -P '^[^.]+'`; do
dustc --name=$name templates/$name.html js/templates/$name.js
done但是,通过这种方式,模板位于不同的JS文件中。所有这些都是相同的模式:
(function(){dust.register("xxx",body_0);function body_0(chk,ctx){...}return body_0;})();这可能会导致浏览器下载大量不必要的字节。因此,我希望将这些模板编译成一个JS文件,或者将编译后的JS文件组合在一起。我如何才能做到这一点?
发布于 2012-11-28 07:44:57
我不确定确切的问题是什么,但是如果你只是想组合这些文件,那么使用依赖项管理器,比如链轮或Require.js的优化器工具就可以做到这一点。
当它们被带到同一个文件中时,它们处于相同的模式,这一事实不会做任何事情-它们都被封装在匿名的自动执行函数中,以保护命名空间。
另一方面,如果您试图通过删除重复模式来优化代码,那么我建议使用uglifyjs或google的闭包编译器自动完成此操作。
合并和最小化代码应该根本不是问题-它会工作得很好:)希望这会有所帮助
发布于 2013-07-25 18:35:44
您可以使用Duster.js (针对node.js的自动灰尘监视和预编译)和r.js将其合并为一个文件。
https://stackoverflow.com/questions/13586057
复制相似问题