【发布时间】:2011-08-18 19:36:06
【问题描述】:
所以我只是在我的项目中使用 default 设置在所有 js/css 文件的每个构建/部署中使用 AjaxMin.dll 进行缩小。结果证明这是个坏主意。我们拥有的第三方 javascript 文件之一有一个很好的 eval 语句,其中引用了一些变量或参数。当它被缩小时,原始变量被重命名,而不是在 eval 语句中重命名。这导致了生产中的一个大错误 (FML)。
我决定我需要为缩小过程选择更安全的设置。
关于 AjaxMin 的文档非常 ummm 不清楚。 http://www.asp.net/ajaxlibrary/AjaxMinWithAndEval.ashx
或者我只是不明白。我使用的是代码(带有 DLL)而不是命令行。
CodeSettings 类有一个 EvalTreatment 类选项,但我不确定什么是最好的选择...
来自微软(DLL 源):
using System;
namespace Microsoft.Ajax.Utilities
{
public enum EvalTreatment
{
Ignore = 0,
MakeImmediateSafe = 1,
MakeAllSafe = 2,
}
}
我在想MakeImmediateSafe(1) 还是MakeAllSafe(2)?你们有什么感想?
提前致谢!
【问题讨论】:
-
我在使用 Ajax.Net(它的旧版本)时遇到了类似的问题,我正在缩小它的常见 javascript,其中包含一行:
eval("r=" + ....,我将其更改为r=eval("r=" + ...为我修好了。
标签: javascript c# ajax asp.net-ajax