这是一个简化的示例,但我正在编写一个输出javascript的代码转换器。由于解析的方式,我必须输出片段。即我最终得到了一个类似于以下内容的javascript文件,但更长的时间:
function coolfunc() {
var result = "";
greet = function(user,town) {
var output = '';
output += 'Welcome ' + user + '!';
output += 'How is the weather in ' + town + '?';
return output;
}
goobye = function(user,town) {
var output = '';
output += 'Farewell ' + user + '!';
output += 'Enjoy the weather in ' + town + '!';
return output;
}
result += "Some output 1";
result += "Some output 2";
result += greet("Larry","Cool town");
result += goobye("Larry","Cool town");
return result;
}
是否有任何后处理器可用于将上述内容压缩成以下内容:
function coolfunc() {
greet = function(user,town) {
var output = 'Welcome ' + user + '!'+'How is the weather in ' + town + '?';
return output;
}
goobye = function(user,town) {
var output = 'Farewell ' + user + '!'+'Enjoy the weather in ' + town + '!';
return output;
}
var result = "Some output 1"+"Some output 2"+greet("Larry","Cool town")+goobye("Larry","Cool town");
return result;
}
如果它可以组合相邻的静态字符串连接,那将是肉汁。
我认为yuicompressor或者闭包编译器会这样做,但据我所知他们没有。
编辑:
到目前为止,评论似乎告诉我在翻译中这样做。我不认为这是最好的选择,因为它会使阅读翻译变得非常困难......类似于为什么人们会编写冗长的代码然后将其缩小以进行制作。
答案 0 :(得分:0)
如果有人遇到此问题,看起来封闭编译器可以在修订版1576(http://code.google.com/p/closure-compiler/source/detail?r=1576)中处理此问题