我使用的是9.8.0最新的SquishIt稳定框架。
javascript minify的问题。当它将长变量(如function(imReallyLong)、、to、函数(N))缩小时
这对于minify来说是可以的,但是只有当您不使用eval()时才行!
我的方法是:
Fire: function (jDto) {
var sectionName = Enum.Parse(Enum.SectionID, jDto.SectionID);
eval('Section.Init.' + sectionName + '(jDto)');
},缩小后:
Fire: function (n) {
var t = Enum.Parse(Enum.SectionID, n.SectionID);
eval("Section.Init."+t+"(jDto)")
},jDto变量的问题。它是硬编码的字符串,SquishIt不知道它。
是否有可能防止变量变化选项或类似的事情?还是更酷的框架?
谢谢。
发布于 2015-09-13 21:38:47
这是小型机器的行为,而不是压碎。
我认为您可能可以使用这样的工具(Ajax Minifier (AjaxMin) - EvalTreatment for JavaScript?)来处理MS Minifier:
.WithMinifier(new MsMinifier(new CodeSettings { EvalTreatment = EvalTreatment.MakeAllSafe }))YUI小型机有一个ignoreEval选项,看起来它允许压缩调用eval的函数(https://github.com/BillyChan501/YUI-Compressor-.NET/blob/master/Projects/Yahoo.Yui.Compressor/Model%20Tests/JavaScriptCompressorTest.cs#L218-L256)。那么,您所拥有的示例可能“只是”使用默认的YUI选项进行小型化吗?
.WithMinifier<YuiMinifier>()https://stackoverflow.com/questions/32552473
复制相似问题