1:EnvironmentTaghelper支持根据不同的环境加载不同的内容,更多时候是帮助我们将我们的开发环境和生产环境进行一个剥离
2:比如:我们在生产环境用cdn上的bootstrap文件,在开发环境使用本地bootstrap文件,就可以使用Environment标签进行隔离,可以使用TagHelper的一些标签属性进行设置
如下:
<environment include="Development">
<link href="~/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
</environment>
<environment exclude="Development">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.0.0-alpha1/css/bootstrap.min.css" rel="stylesheet">
</environment>
include=“” 指的是在什么什么环境下
exclude=“” 指的是不在什么什么环境下
但是直接这样写容易出问题,假如现在项目发布了,在生产环境环境下使用的cdn上的css文件,万一连接不上怎么办,这个时候可以使用TagHelper标签属性,进行相关判断,如下:
<environment include="Development">
<link href="~/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
</environment>
<environment exclude="Development">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.0.0-alpha1/css/bootstrap.min.css"
asp-fallback-href="~/node_modules/bootstrap/dist/css/bootstrap.css"
asp-fallback-test-class="sr-only"
asp-fallback-test-property="position"
asp-fallback-test-value="absolute"
rel="stylesheet">
</environment>
判断从cdn调用的文件是否出问题,如果是,就回滚,继续使用本地文件,当然,判断使用的属性标签不一定,如下判断js文件:
<environment include="Development">
<script src="~/node_modules/jquery/dist/jquery.js"></script>
<script src="~/node_modules/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/node_modules/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive"></script>
</environment>
<environment exclude="Development">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"
asp-fallback-src="~/node_modules/jquery/dist/jquery.js"
asp-fallback-test="window.jQuery"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js"
asp-fallback-src="~/node_modules/jquery-validation/dist/jquery.validate.js"
asp-fallback-test="window.jQuery && window.jQuery.validate"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery-validation-unobtrusive/3.2.11/jquery.validate.unobtrusive.min.js"
asp-fallback-src="~/node_modules/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive"
asp-fallback-test="window.jQuery && window.jQuery.validate && window.jQuery.validate.unobtrusive"></script>
</environment>