gpt4 book ai didi

javascript - ASP.net MVC 缩小和捆绑 - 如何缩小单个 JavaScript 文件

转载 作者:行者123 更新时间:2023-11-29 17:23:29 24 4
gpt4 key购买 nike

为了遵循不显眼的 JavaScript 准则,我将所有 JavaScript 从我的每个 View 中移出并放入单独的 .js 文件中。

但是,在 1 个 View 中,我需要动态创建一些 JavaScript 变量,以便将它们插入到 ViewBag 中并直接呈现到 View 中:

    $(document).ready(function () {
@(ViewBag.PrePop)
@(ViewBag.PreDiscount)
});

在我尝试使用新的 ASP.net 捆绑和缩小功能之前,它工作正常。

将所有这些小的外部 JavaScript 文件捆绑在一起,然后从每个页面调用组合的脚本意味着每个页面(包含 ViewBag 发出的变量的页面除外)都有一个变量引用错误:

Uncaught ReferenceError: quotes is not defined 

所以这基本上意味着我无法捆绑这个特定的 JavaScript 文件。

但是,我想缩小它。为此,我是否只声明一个仅包含一个 JavaScript 文件的包:

bundles.Add(new ScriptBundle("~/bundles/mypagescript").Include(
"~/Scripts/mypagescript.js"));

或者是否有另一种方法可以单独进行缩小?

最佳答案

是的,目前我们并没有真正公开任何方法让您轻松地调用优化来缩小字符串(如果您真的想要,您可以通过 JsMinify.Process 的实例来实现) )即:

string js = "//I am a comment\r\nfoo = bar;\r\nfoo = yes;";
JsMinify jsmin = new JsMinify();
BundleContext context = new BundleContext();
BundleResponse response = new BundleResponse(js, null);
response.Content = js;
jsmin.Process(context, response);
Assert.AreEqual("foo=bar,foo=yes", response.Content);

但您的建议可能是最好的(创建一个文件包)。

关于javascript - ASP.net MVC 缩小和捆绑 - 如何缩小单个 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11005425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com