gpt4 book ai didi

javascript - 什么时候不使用 MVC bundle ?

转载 作者:行者123 更新时间:2023-11-30 13:00:51 25 4
gpt4 key购买 nike

我在最近的项目中遇到了一个奇怪的问题。我用的是 Trent Richardson's Timepicker控制在我的 MVC 4 应用程序中利用时间选择器功能。我使用 MVC bundle 功能 bundle 了相关的 JQuery 文件。我发现这在开发环境(Visual Studio 2012)中工作得很好。

但是当我在 IIS 上部署网站时,我开始遇到一个奇怪的问题,那个特定的包中有一个 javascript 错误“function expected”。我可以看到包已加载,因为当在“脚本”选项卡中选择该包时,开发人员工具正在显示 javascript 代码。

最后,当我直接引用 JQuery 文件而不是 bundle 时,它​​开始在 IIS 上正常工作。虽然问题已解决,但我现在很想知道如果 bundle 该特定文件有什么问题,如果 MVC bundle 确实是一个问题,那么为什么它在开发环境中运行良好,但在 IIS 中却不行?

对此非常感谢。

最佳答案

缩小是一个复杂的过程,通过使用缩短变量名、消除空格、删除注释等技术使脚本/样式更小……它使用依赖于 WebGrease 的 ASP.NET Web 优化来进行缩小。当然,可能会有问题,但我个人从来没有注意到。

以下是一些你不应该使用 bundle 的情况

  • 您的包中只有一个文件。为什么要 bundle ?
  • 您只使用著名的框架,例如 JQuery 或 jQuery UI。不要重新分发已经由其他人提供的脚本。 Google/Microsoft/Amazon/... 已经为最流行的开源 JavaScript 库提供了 CDN。

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

  • 您的包只需要几个字节。 Web 性能优化建议限制 Web 请求的数量。一切都有成本。不是很理想,但有时将内联脚本放入您的页面会更好。

  • 在某些架构中。 bundle 请求包含用于缓存的唯一标识符。如果 bundle 中的任何文件发生变化,ASP.NET 优化框架将生成一个新的 token ,保证浏览器对 bundle 的请求将获得最新的 bundle。在使用某些架构时,JS 更新可能会很频繁,并且会使您的所有包失效。
  • 在开发环境中。调试 bundle 真的非常痛苦。

关于javascript - 什么时候不使用 MVC bundle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17439805/

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