asp.net 4.5捆绑:母版页和页面的捆绑包是分开的吗?
这是一个非常简单的计划: 我们为母版页内容编写样式和脚本,并在母版页.Master文件中包含引用,对于每个包装好的asp.net Web表单,我们将在自己的页面中引用的.css和.js文件分开 在这种情况下,捆绑文件的正确方法是什么asp.net 4.5捆绑:母版页和页面的捆绑包是分开的吗?,asp.net,.net-4.5,Asp.net,.net 4.5,这是一个非常简单的计划: 我们为母版页内容编写样式和脚本,并在母版页.Master文件中包含引用,对于每个包装好的asp.net Web表单,我们将在自己的页面中引用的.css和.js文件分开 在这种情况下,捆绑文件的正确方法是什么 我们将所有文件捆绑在一个虚拟路径中。因此,我们在所有页面中都有不必要的捆绑文件 我们为master创建一个bundle,并为每个页面添加新bundle。在我看来,这种方法类似于硬编码 问题是您希望如何对CSS和JS文件进行分组,这取决于项目的域。例如,在我参与的一个
问题是您希望如何对CSS和JS文件进行分组,这取决于项目的域。例如,在我参与的一个报纸项目中,我们以这种方式进行捆绑:为文章页面、小部件页面创建一组捆绑包,这些页面都使用相同的母版页 对于母版页,您注册了一个包,其中包含绑定在所有页面上使用的必要库,如jQuery、bootstrap、项目中所有页面上使用的一些常见javascript文件 对于javascript,母版页将如下所示:
<script src='@Scripts.Url("~/bundles/js/common")' async> </script>
<asp:ContentPlaceHolder ID="BottomScripts" runat="server">
</asp:ContentPlaceHolder>
然后在使用母版页布局的页面上,用扩展公共包的另一个包填充内容占位符
对于文章页面:
<asp:Content ID="Content1" ContentPlaceHolderID="BottomScripts" runat="server">
<script src='@Scripts.Url("~/bundles/js/articlePage")' async> </script>
</asp:Content>
因此,“~/bundles/js/articlePage”
有一组js文件,用于所有文章页面。文章页面将呈现通用和特定javascript
以类似的方式,“~/bundles/js/sectionPage”
将有一组不同的脚本
希望这有助于使用“/”对虚拟子路径进行分类和创建是一个有趣的想法。这种方法似乎是结构化的。现在,我考虑命名规则!您是否同意:页面名称=虚拟子路径名称?这取决于您拥有的网站总页面数。正如我提到的,一些页面可能需要分组,因为它们使用相同的js-s。例如,您有几个类似的页面:文章、幻灯片、测验,它们都使用基本相同的js,因此您可以为它们使用相同的虚拟路径,如“~/bundles/js/articles”。