我有一个控制器,它有一个特殊的方法来返回一些请求参数的js内容。 一切都很有效,我只是使用一个返回JavaScriptResult的方法,我将一个视图(具有整个js内容)呈现给一个字符串并返回它。
现在我想进一步探讨这个解决方案。我希望将js内容缩小。我发现(在NuGet上)一个CrockfordJsMinifier类(Web Markup Minifier包的一部分)似乎可以完成这项工作。
问题是:它不是一个完整的缩小器,它只是“吃掉”额外的空格,换行符等等......它不是压缩变量或函数名称等等。
因此我的问题:是否可以在字符串中使用MVC5中“捆绑和缩小”解决方案的缩小?如果是这样,我该怎么做?
以下是我的方法的一个简短示例:
[AllowAnonymous]
[HttpGet]
public JavaScriptResult GetAnonymousJS(string JSName)
{
//"PartialToString" just renders the view on a string.
string result = PartialToString(PartialView("PublicViewScripts/" + JSName));
var minifier = new CrockfordJsMinifier();
result = minifier.Minify(result, false).MinifiedContent;
//This result is not "really" minified (is just roughly minified)
return JavaScript(result);
}
答案 0 :(得分:1)
Microsoft Ajax Minifier怎么样?它可以根据需要压缩变量和函数名称。将Ajaxmin.dll添加到项目后,可以调用minifier:
public JavaScriptResult GetAnonymousJS(string JSName)
{
//"PartialToString" just renders the view on a string.
string result = PartialToString(PartialView("PublicViewScripts/" + JSName));
var minifier = new Minifier();
result = minifier.MinifyJavaScript(result);
//This result is not "really" minified (is just roughly minified)
return JavaScript(result);
}