asp.net 4.5 捆绑:母版页和页面分开捆绑是否正确?
asp.net 4.5 bundlling: Is that correct to have separated bundles for masterpage and page?
这是一个非常简单的计划:
我们为母版页内容编写样式和脚本,并在 MasterPage.Master 文件中包含引用,对于每个包装的 asp.net Web 表单,我们将 .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'
将有一组不同的脚本。
希望对您有所帮助
这是一个非常简单的计划: 我们为母版页内容编写样式和脚本,并在 MasterPage.Master 文件中包含引用,对于每个包装的 asp.net Web 表单,我们将 .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'
将有一组不同的脚本。
希望对您有所帮助