如何在返回之前手动缩小 JavascriptResult 内容
How to manually minify a JavascriptResult content before returning it
我有一个控制器,它有一个特殊的方法 return 根据一些请求参数向我发送 js 内容。
一切都运行良好,我只是使用 return 一个 JavaScriptResult 的方法,我正在将一个视图(具有完整的 js 内容)渲染到一个字符串并 returning 它。
现在我想在该解决方案上更进一步。我希望缩小 js 内容。我发现(在 NuGet 上)一个 CrockfordJsMinifier class(Web Markup Minifier 包的一部分)似乎可以完成这项工作。
问题是:它不是一个完整的压缩器,它只是 "eating" 额外的空格、换行符等...它没有压缩变量或函数名称以及类似的东西。
因此我的问题是:是否可以在字符串上使用来自 MVC5 的 "Bundling and Minification" 解决方案的缩小?如果可以,我应该怎么做?
下面是我的方法的一个简短示例,只是为了说明:
[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);
}
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);
}
我有一个控制器,它有一个特殊的方法 return 根据一些请求参数向我发送 js 内容。 一切都运行良好,我只是使用 return 一个 JavaScriptResult 的方法,我正在将一个视图(具有完整的 js 内容)渲染到一个字符串并 returning 它。
现在我想在该解决方案上更进一步。我希望缩小 js 内容。我发现(在 NuGet 上)一个 CrockfordJsMinifier class(Web Markup Minifier 包的一部分)似乎可以完成这项工作。
问题是:它不是一个完整的压缩器,它只是 "eating" 额外的空格、换行符等...它没有压缩变量或函数名称以及类似的东西。
因此我的问题是:是否可以在字符串上使用来自 MVC5 的 "Bundling and Minification" 解决方案的缩小?如果可以,我应该怎么做?
下面是我的方法的一个简短示例,只是为了说明:
[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);
}
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);
}