Я разрабатываю приложение с yoman + grunt + angularJs.AngularJS Grunt load JS-файл с динамическим параметром строки запроса
Чтобы загрузить файл JS только в случае необходимости, я добавил путь к файлу JS в файле calendar.html.
Для этого я изменил файл grunt.js и html.
Grunt.JS файл
useminPrepare: {
html: ['<%= yeoman.app %>/index.html', '<%= yeoman.app %>/views/*.html'],
options: {
dest: '<%= yeoman.dist %>',
flow: {
html: {
steps: {
js: ['concat', 'uglifyjs'],
css: ['cssmin']
},
post: {}
}
}
}
}
Измененный файл calendar.html
<!-- build:js({.tmp,app}) scripts/fullcalendar.js -->
<script src="scripts/plugins/fullcalendar/fullcalendar.js"></script>
<!-- endbuild -->
Это решение работает должным образом. Но теперь, когда я загружаю мою страницу Календаря свежий запрос идет к fullcalenar.js с динамическим параметром строки запроса, как этот
http://localhost/scripts/fullcalendar.a13f9b72f8.js?_=1422010995753
Этого число (1422010995753) увеличивает каждый раз, когда я сделать запрос, который остановить браузеры кэширования файла.
Я считаю, что это из-за assetCacheBuster, но вот моя конфигурация Grunt. И я установил это значение false вместе с debugInfo.
compass: {
options: {
javascriptsDir: '<%= yeoman.app %>/scripts',
fontsDir: '<%= yeoman.app %>/styles/fonts',
importPath: './bower_components',
relativeAssets: false,
assetCacheBuster: false,
raw: 'Sass::Script::Number.precision = 10\n'
},
server: {
options: {
debugInfo: false
}
}
}
Моя проблема, я хочу, чтобы кэшировать fullcalendar.js файл и не хочу, чтобы принести свежий JS файл каждый раз.
Если я перемещаюсь над кодом calendar.html в файле index.html, приложение работает правильно и кэширует файл без объединения с остальными js. Но если я добавлю этот код внутри index.html, файл fullcalendar.js будет загружен самой первой страницей.