首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SquishIt代短

SquishIt代短
EN

Stack Overflow用户
提问于 2015-09-13 17:22:58
回答 1查看 114关注 0票数 1

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

javascript minify的问题。当它将长变量(如function(imReallyLong)、to函数(N))缩小时

这对于minify来说是可以的,但是只有当您不使用eval()时才行!

我的方法是:

代码语言:javascript
复制
Fire: function (jDto) {
    var sectionName = Enum.Parse(Enum.SectionID, jDto.SectionID);
    eval('Section.Init.' + sectionName + '(jDto)');
},

缩小后:

代码语言:javascript
复制
Fire: function (n) {
    var t = Enum.Parse(Enum.SectionID, n.SectionID);
    eval("Section.Init."+t+"(jDto)")
},

jDto变量的问题。它是硬编码的字符串,SquishIt不知道它。

是否有可能防止变量变化选项或类似的事情?还是更酷的框架?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-13 21:38:47

这是小型机器的行为,而不是压碎。

我认为您可能可以使用这样的工具(Ajax Minifier (AjaxMin) - EvalTreatment for JavaScript?)来处理MS Minifier:

代码语言: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选项进行小型化吗?

代码语言:javascript
复制
.WithMinifier<YuiMinifier>()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32552473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档