ASp.Net Core 中,通常在 _Layout.cshtml 文件設置全局css、js文件,
其中有兩個標籤
environment include=“Development” 表示網站若在開發環境運行,則使用裏面的文件。
environment exclude=“Development” 表示網站不是開發環境時,使用裏面的文件。
那麼他們的作用是什麼呢?
一般來說,開發環境,使用 本地的、未編譯(壓縮等處理) 的前端文件。
而部署網站後,使用 CDN 加速的前端文件。
舉例如下
在 _Layout.cshtml 設置引入的 css、js 文件如下
CSS
<environment include="Development">
<link rel="stylesheet" href="~/bootstrap/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
asp-fallback-href="~/bootstrap4/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
JS文件
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/bootstrap4/js/bootstrap.js"></script>
<script src="~/bootstrap4/js/bootstrap.bundle.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment exclude="Development">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT">
</script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
asp-fallback-src="~/bootstrap4/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy">
</script>
<script src="~/bootstrap4/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
注:本地環境的css樣式文件和js文件路徑需要自己根據wwwroot目錄下的路徑進行配置