c# - 使用带有 npm webpack 的 asp-net-core 从 cdn 加载引导程序
问题描述
从上图中可以看出,我正在实现一个带有 asp-net-core 的网站,并使用 npm 安装了引导程序。
我希望引导程序在登台/生产构建时从 CDN 加载,但我知道唯一的方法是使用标签助手。
当我使用 npm bootstrap 时如何实现这一点?
解决方案
您可以使用 <environment exclude="Development">
or<environment names="Staging,Production">
或<environment include="Staging,Production">
从 加载 js 或 css CDN
。
从ASP.NET Core 中的 Environment Tag Helper引入
例子
<!DOCTYPE html>
<html lang="en">
<head>
<!-- other head tags -->
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
</environment>
</head>
<body>
<!-- other body content -->
@RenderBody()
<!-- other body content -->
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment exclude="Development">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.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.3.1/js/bootstrap.bundle.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o">
</script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
@RenderSection("Scripts", required: false)
</body>
</html>
来自在 ASP.NET Core 3.0 中使用带有后备脚本的 CDN 中的 jQuery 和 Bootstrap 的回答
推荐阅读
- react-native - 我正在尝试仅在 Facebook 和 WhatsApp 上分享帖子
- javascript - 当 Content-Type 为 application/x-www-form-urlencoded 时,表示 Form Data 上的数据结构
- angular - 如何对返回 Promise 的异步方法进行单元测试
- .net - 事件中心中的活动连接
- git - 如何将 GitHub 上的 2 个编辑分组为 1 个拉取请求?
- html - 使用 beautifulsoup 提取段落标记开头和换行符之间的文本
- python - 按字符串列表对字典列表进行排序
- reactjs - Rollup 和 typescript 包没有编辑器代码完成并跳转到声明
- amazon-web-services - 在资源声明之外将环境变量附加到 Lambda
- firefox - 使用 policy.json 设置 Firefox 首选项