gpt4 book ai didi

javascript - SquishIt 替换为 short

转载 作者:行者123 更新时间:2023-11-30 16:37:12 26 4
gpt4 key购买 nike

我使用的是 SquishIt 的 9.8.0 最新稳定框架。

javascript 缩小问题。当它缩小像 function(imReallyLong) 这样的长变量时 to function(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 无法识别。

是否可以防止更改变量选项或类似的东西?还是更酷的框架?

谢谢。

最佳答案

这是 minifier 行为,不是 squishit。

我认为您可以通过 MS Minifier 使用类似这样的方法 ( Ajax Minifier (AjaxMin) - EvalTreatment for JavaScript? ) 解决它:

.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>()

关于javascript - SquishIt 替换为 short,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32552473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com