web项目js css静态文件缓存解决

在web开发过程中经常会遇到js及css文件缓存的问题,开发过程中我们可以自己手动的清空浏览器缓存,但是我们没法告诉用户去执行一个他们或许不熟悉的操作(清空浏览器缓存),为解决这个问题,编写了一个grunt插件,在前端构建的时候,可以使用grunt插件来做这件事情,就是将js及css文件自动的加上一个版本号(这里我用的是时间戳)

基于grunt的js 及css文件自动加version的插件,可以将配置的目录下所有引用到指定匹配的js及css文件加上一个版本号

github地址:    https://github.com/noahxinhao/automatic-version-increment



具体的说明


automatic-version-increment

control the cache of assets by appending timestamp hash to asset url

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install automatic-version-increment --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('automatic-version-increment');

The "automatic" task

Overview

In your project's Gruntfile, add a section named automatic to the data object passed intogrunt.initConfig().

grunt.initConfig({
    automatic: {
      js: {
        options: {
        },
        assetUrl:'demo/js/hello.js',
        files: {
          'tmp': ['demo/index.html'],
        },
      },
    },
});

Usage Examples

Default Options

In this example, we have index.html which contains hello.js and hello.css. In Gruntfile.js, write as below, then grunt, we can get the index.html which has assets url with timestamp.

assetUrl is the css or js file path files is the file which contains the assets(usually is html file)

Notice to write the correct path.

grunt.initConfig({
    automatic: {
            js: {
                options: {
                    basicSrc: ["src/main/webapp/public/js_control/"]
                },
                assetUrl: ['**/*.js'],
                files: {
                    'tmp': ['src/main/webapp/views/**/*.jsp']
                }
            },
            css: {
                options: {
                    basicSrc: ["src/main/webapp/public/css/"]
                },
                assetUrl: ['**/*.css'],
                files: {
                    'tmp': ['src/main/webapp/views/**/*.jsp']
                }
            }
        }
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值