ASP.NET Core开发总结

1.关于浏览器缓存,修改CSS文件和Javascript文件后调试,浏览器不更新问题,解决办法是在link标签和script标签引用的文件名后面添加版本信息如下:

<link rel="stylesheet" href="~/css/site.min.css?version=20190109" />
<script src="~/js/site.min.js" type="text/javascript?version=20190109"></script>

上面的写法即可解决客户端不更新问题。但是上面的方法有个问题,就是每次更改文件,都要修改?后面的版本信息,那么能不能实现自动更新呢?当然可以。

Asp.net Core框架提供了一种方法:

<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
<script src="~/js/site.min.js" type="text/javascript" asp-append-version="true"></script>

只要按照上面的写法即可实现,每次只要更新文件,就会自动生成版本信息。

2.js,css生成min文件

  网站中引用的Css文件和Javascript文件,通常都是.min文件,这样可以减少网页的加载内容,提升加载速度。Asp.net 下一个工具包可以生成指定文件的.min文件:BuildBundlerMinifier。安装这个工具后,在工程编译的时候,会自动生成bundleconfig.json中配置的文件的.min。

  首先安装 BuildBundlerMinifier 在命令行中执行如下命令即可安装

dotnet add package BuildBundlerMinifier

安装后配置 bundleconfig.json 文件 如下:

[{
"outputFileName": "wwwroot/css/site.min.css",
"inputFiles": [
"wwwroot/css/site.css"
]
},
{
"outputFileName": "wwwroot/js/site.min.js",
"inputFiles": [
"wwwroot/js/site.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/index.min.js",
"inputFiles": [
"wwwroot/js/index.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/editor/editor.min.js",
"inputFiles": [
"wwwroot/js/editor/editor.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/aboutus/aboutus.min.js",
"inputFiles": [
"wwwroot/js/aboutus/aboutus.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/news/newsDetail.min.js",
"inputFiles": [
"wwwroot/js/news/newsDetail.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/customerCase/customerCaseDetail.min.js",
"inputFiles": [
"wwwroot/js/customerCase/customerCaseDetail.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/odm/odmDetail.min.js",
"inputFiles": [
"wwwroot/js/odm/odmDetail.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
}
]

其中最主要的就是 outputFileName inputFiles minify 的设置,设置好后,当我们编译工程的时候,会生成 outputFileName 文件名的文件。

3. 根据运行环境引用不同的文件,使用 environment 即可,如下:

    <environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" asp-append-version="true"/>
</environment> <environment exclude="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" asp-append-version="true"/>
</environment>

其中 include="Development" 是指在开发环境中,exclude="Development" 是指除了开发环境之外的环境,asp-append-version="true" 指定后会自动生成一个版本号,也就是 1 中描述的问题。

4. 在使用VScode调试的时候,如果你升级了目标版本,需要更改.vscode launch.json里面的program更改为对应的版本

上一篇:Git_GitHub-使用过程遇到的问题——坑(持续添加)


下一篇:Jquery:jquery中的DOM操作<一>