Ajax Minifier (AjaxMin) - EvalTreatment for JavaScript?
本文关键字:EvalTreatment for JavaScript Minifier AjaxMin Ajax | 更新日期: 2023-09-27 17:54:59
所以我只是在我的项目中最小化使用AjaxMin.dll在每个构建/部署中使用默认设置的所有js/css文件。结果证明这是个坏主意。我们拥有的第三方javascript文件之一有一个很好的eval语句,其中引用了一些变量或参数。当它被最小化时,原始变量在eval语句中被重命名,而不是重命名。这导致了生产中的一个大错误(FML)。
我已经决定为缩小过程选择更安全的设置。
关于AjaxMin的文档非常不清楚。http://www.asp.net/ajaxlibrary/AjaxMinWithAndEval.ashx
也许我只是不明白。我正在使用代码(带有DLL)而不是命令行。
CodeSettings
类有一个EvalTreatment
类选项,但我不确定什么是最好的选择…
From Microsoft (DLL源代码):
using System;
namespace Microsoft.Ajax.Utilities
{
public enum EvalTreatment
{
Ignore = 0,
MakeImmediateSafe = 1,
MakeAllSafe = 2,
}
}
我认为MakeImmediateSafe
(1)或MakeAllSafe
(2)?你们怎么看?
提前感谢!
如果您想使绝对确定缩小的结果将始终工作,请使用MakeAllSafe选项。这将确保eval语句范围内的变量和任何父范围内的变量都不会被重命名。