私たちはプロジェクトで初めてうなり声を使用しています.Googleとstackoverflowにかなりの時間を費やしましたが、解決策を見つけることができませんでした.現在、JSとCSSファイルを縮小していますが、ブラウザでバージョンを縮小したJSに追加したいアセット(jsおよびcss)ファイルが変更されるたびに、ブラウザキャッシュ内のファイルにバージョンを追加するためにgruntまたはノードを使用する方法がありますproduction.js
。production.css
Concat.js
module.exports = function(grunt) {
grunt.config.set('concat', {
dist: {
src: ['assets/styles/style.css','assets/styles/bootstrap.css', 'assets/styles/font-awesome.css','assets/styles/jquery-ui.css'],
dest: 'assets/concat/production.css'
},
js: {
src: ['assets/js/src/jquery-2.1.3.js',
assets/js/src/jquery-ui.js',
'assets/js/src/bootstrap.js',
'assets/js/src/bootstrap-switch.js',
'assets/js/src/moment.js',
'assets/js/src/angular.js',
'assets/js/jquery.gritter.min.js',
'assets/js/dependencies/elements.js',
'assets/js/dependencies/layout.js',
'assets/js/dependencies/init.js',
'assets/js/dependencies/js_importer.js',
'assets/js/dependencies/sib_common.js',
'assets/js/angular-sanitize.min.js',
'assets/js/angular/home.js'
],
dest: 'assets/concat/production.js'
}
});
Index.ejs
<html lang="en">
<script src="/concat/production.js"></script>
<head>
<link href="/concat/production.css" rel="stylesheet" />
</head>
</html>
編集
filerevを使用して実装していますが、バージョンは作成されていません
module.exports = function(grunt) {
grunt.config.set('filerev', {
filerev: {
options: {
algorithm: 'md5',
length: 8
},
files: {
src: ['assets/concat/production.js', 'assets/concat/production.css']
}
}
});
grunt.loadNpmTasks('grunt-filerev');
};
default.js
module.exports = function (grunt) {
grunt.registerTask('default',
['compileAssets', 'linkAssets','filerev' , 'watch']);
};