2015-01-23 2 views
2

Я разрабатываю приложение с 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 будет загружен самой первой страницей.

ответ

Смежные вопросы