为什么捆绑包会在一台服务器上捆绑并缩小,而不是在另一台服务器上渲染?质量检查和生产都是相同的操作系统和版本的IIS,但他们给出不同的结果。在QA中,Styles.Render()
和Scripts.Render()
生成捆绑的缩小输出。在制作过程中,他们通常不会(但有时会这样做)。为什么捆绑包不捆绑在一台服务器上?
我在我的布局中有这条线。
@Scripts.Render("~/siteJs")
在开发中,我期待并得到这个输出。
<script src="/MyApp/Scripts/jquery.placeholder.js"></script>
<script src="/MyApp/Scripts/Site.js"></script>
在QA服务器上,我期待并得到它。
<script src="/MyApp/siteJs?v=7-G_q9YBnk..."></script>
但在生产中,我通常(但不是总是)得到开发输出。
<script src="/MyApp/Scripts/jquery.placeholder.js"></script>
<script src="/MyApp/Scripts/Site.js"></script>
要尝试重现,我删除了QA的Web应用程序,并部署生产二进制文件和CONFIGS以QA,但仍QA给了我预期的输出。我已经在多个Web应用程序中看到了这一点,包括MVC3和MVC4。
我可以强制它可靠地缩小和捆绑通过更改我的布局线到这一点。
@Scripts.Render(BundleTable.Bundles.ResolveBundleUrl("~/siteJs"))
这不幸的是,即使在开发过程中,它也总是捆绑和缩小。
编辑:
调试未在生产设置和QA web.config
文件。
<compilation targetFramework="4.0">
是否都构建在发布模式?调试模式不应该缩小你的Bundle。 – krillgar