为什么捆绑包在一台服务器上捆绑和缩小,而在另一台服务器上却不捆绑? QA和Production都是相同的操作系统和IIS版本,但它们会产生不同的结果。在质量检查中,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应用程序,并将生产二进制文件和配置部署到QA,但仍然QA给了我预期的输出。我在多个Web应用程序中看到了这一点,包括MVC3和MVC4。
我可以通过将布局中的线条更改为此来强制缩小和捆绑。
@Scripts.Render(BundleTable.Bundles.ResolveBundleUrl("~/siteJs"))
不幸的是,即使在开发过程中,这也总是捆绑和缩小。
修改
未在Production和QA web.config
文件中设置调试。
<compilation targetFramework="4.0">
答案 0 :(得分:3)
在生产时,请确保在web.config中将debug设置为false。在开发中将其设置为true应该会改变输出。
<compilation debug="false" ... />