Обновлять
Я загрузил пример проблемы, с которой я столкнулся здесь:
https://github.com/ianjamieson/grunt-usemin-issue
При запуске grunt build вы увидите, что он создает папку dist и внутри правильный файл revved, однако я не могу заставить его обновить page.html с правильным путем к файлу!
Я оставил остальную часть вопроса здесь для справки, однако вы, вероятно, можете проигнорировать его и просто использовать репозиторий GitHub в качестве примера.
Я пытаюсь использовать модуль filerev с usemin, но я думаю, что может быть какая-то проблема, поскольку я также использую load-grunt-config.
В документации по usemin сказано, что я должен просто добавить revmap и установить значение:
<%= grunt.filerev.summary %>
Однако это возвращает undefined.
GruntFile.js
module.exports = function(grunt) {
var config = {
buildTasks: [
'newer:copy', // copies the src directory to dist (htdocs)
'requirejs', // do an r.js build to concat modular dependencies
'fetchpages', // if there are any remote resources, fetch them here
'concat:head', // concats js in the head
'concat:foot', // concats js in the head
'uglify:head', // compresses js in the head
'uglify:foot', // compresses js in the foot
'cssmin', // minifies and concats css
'filerev', // changes the file name to include md5 hash and force cache refresh
'usemin', // runs through html and inputs minified js and css
'newer:htmlclean', // removes whitespace from html files where required
'newer:imagemin', // minify newer images
'clean:afterBuild' // deletes files that are not required for build
]
};
require('time-grunt')(grunt);
require('load-grunt-config')(grunt, {
jitGrunt: {
staticMappings: {
fetchpages: 'grunt-fetch-pages'
}
}
});
grunt.registerTask('build', config.buildTasks);
};
usemin.js
module.exports = function (grunt, options) {
return {
revmap: '<%= grunt.filerev.summary %>',
html: [
'path/to/page'
]
};
};
filerev.js
module.exports = function(grunt, options) {
return {
options: {
algorithm: 'md5',
length: 10
},
js: {
src: [
'path/to/js.js'
]
},
};
};
Я получаю сообщение об ошибке:
Running "usemin:revmap" (usemin) task
Verifying property usemin.revmap exists in config...OK
Files: [no src] -> revmap
Options: type="revmap"
Replaced 0 references to assets
useminPrepare
. Далее скопировано из их документаIn a typical usemin setup you launch useminPrepare first, then call every optimization step you want through their generated subtask and call usemin in the end.
- person Vishwanath   schedule 20.04.2015