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 中描述的问题。

  

 

 

 

转载于:https://www.cnblogs.com/huangzhengguo/p/10242745.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值