Файлы Grunt-usemin и revved — опция dirs

У меня проблема с плагином grunt-usemin.

По сути, я хочу поместить весь свой статический контент в каталог static/ под app или dist (зависит от того, создано ли приложение или нет).

Теперь вот мой конфиг ворчания

useminPrepare: {
  html: ['<%= yeoman.app %>/app.html', '<%= yeoman.app %>/login.html'],
  options: {
    dest: '<%= yeoman.dist %>/static'
  }
},
usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/static/styles/**/*.css'],
  options: {
    dirs: ['dist/static/']
  }
}

первая часть идет нормально смотрю на выходе

Found a block:
    <!-- build:css(.tmp) login/styles/main.css -->
    <link rel="stylesheet" href="styles/bootstrap.css">
    <link rel="stylesheet" href="styles/main.css">
    <!-- endbuild -->
Updating config with the following assets:
    - .tmp/styles/bootstrap.css
    - .tmp/styles/main.css

Found a block:
    <!-- build:js({app/static}) login/scripts/libs.js -->
    <script src="bower_components/angular/angular.js"></script>
    <!-- endbuild -->
Updating config with the following assets:
    - {app/static}/bower_components/angular/angular.js

Found a block:
    <!-- build:js({.tmp,app/static}) login/scripts/scripts.js -->
    <script src="scripts/loginApp.js"></script>
    <script src="scripts/controllers/login.js"></script>
    <!-- endbuild -->
Updating config with the following assets:
    - {.tmp,app/static}/scripts/loginApp.js
    - {.tmp,app/static}/scripts/controllers/login.js

Configuration is now:

  cssmin:
  { 'dist/static/login/styles/main.css': 'dist/static/login/styles/main.css' }

  concat:
  { 'dist/static/login/styles/main.css': 
   [ '.tmp/styles/bootstrap.css',
     '.tmp/styles/main.css' ],
  'dist/static/login/scripts/libs.js': [ '{app/static}/bower_components/angular/angular.js' ],
  'dist/static/login/scripts/scripts.js': 
   [ '{.tmp,app/static}/scripts/loginApp.js',
     '{.tmp,app/static}/scripts/controllers/login.js' ] }

  uglify:
  { 'dist/static/login/scripts/libs.js': 'dist/static/login/scripts/libs.js',
  'dist/static/login/scripts/scripts.js': 'dist/static/login/scripts/scripts.js' }

  requirejs:
  {}

но проблема с заменой нормальных файлов на их revved версии, например вот html перед майнингом:

<!doctype html>
<html class="no-js">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Login</title>
    <meta name="viewport" content="width=device-width">
    <!-- build:css(.tmp) login/styles/main.css -->
    <link rel="stylesheet" href="styles/bootstrap.css">
    <link rel="stylesheet" href="styles/main.css">
    <!-- endbuild -->
</head>
  <body ng-app="jsLinkedinConnectorLoginApp">
    <div class="container" ng-view=""></div>

    <!-- build:js({app/static}) login/scripts/libs.js -->
    <script src="bower_components/angular/angular.js"></script>
    <!-- endbuild -->

    <!-- build:js({.tmp,app/static}) login/scripts/scripts.js -->
    <script src="scripts/loginApp.js"></script>
    <script src="scripts/controllers/login.js"></script>
    <!-- endbuild -->
  </body>
</html>

и после:

<!doctype html>
<html class="no-js">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Login</title>
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="login/styles/main.css">
</head>
  <body ng-app="jsLinkedinConnectorLoginApp">
    <div class="container" ng-view=""></div>

    <script src="login/scripts/libs.js"></script>

    <script src="login/scripts/scripts.js"></script>
  </body>
</html>

так что это почти правильно, кажется, что grunt не подхватывает файлы revved в каталоге dist/static.

Теперь, когда я перемещаю, например, каталог dist/static/login вверх, в dist/login и меняю dirs на dist, все работает нормально, поэтому кажется, что предоставление подкаталога dist вызывает проблемы.


person Andna    schedule 06.11.2013    source источник


Ответы (1)


Я решил свою проблему, обновив плагин grunt-usemin до версии 2.0.0 и переключив свойство dirs на assetsDirs.

person Andna    schedule 06.11.2013