yoman и grunt не упаковывают некоторые файлы css

Я использовал yeoman для запуска угловых проектов. Я использовал Bower для установки некоторых угловых компонентов.

В моем index.html у меня есть этот кусок кода

  <link rel="stylesheet" href="bower_components/components-font-awesome/css/font-awesome.min.css">
  <link rel="stylesheet" href="bower_components/angular-material/angular-material.css" />
  <!--should be the last to override-->
  <link rel="stylesheet" href="styles/custom2.css">
  <link rel="stylesheet" href="styles/diverse.css">
</head>
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/hello/dist/hello.all.min.js"></script>
<script src="bower_components/angular-local-storage/dist/angular-local-storage.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-aria/angular-aria.js"></script>
<script src="bower_components/angular-material/angular-material.js"></script>

после того, как я побегу

grunt serve:dist

index.html компилируется, и вот результат.

    <!doctype html> <html> <head> <meta charset="utf-8"> <title>indexPage</title> 
<meta name="description" content=""> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"> <!--to auto host later--> 
<link rel="stylesheet" href="bower_components/components-font-awesome/css/font-awesome.min.css"> 
<link rel="stylesheet" href="bower_components/angular-material/angular-material.css"> <!--should be the last to override--> 
<link rel="stylesheet" href="styles/custom2.css"> 
<link rel="stylesheet" href="styles/diverse.css"> </head> 
<script src="scripts/vendor.3bff2419.js"></script> <script src="scripts/scripts.c4d1c5ee.js"></script> <body ng-app="frontApp" ng-class="body_style"> <!--<div ng-show="mainNavBar_show" ng-include src="mainNavBar"></div>--> <div ng-view></div> </body> </html>

Все файлы, которые отображаются как ссылка rel="...", выдают ошибку 404. (не относится к успешно скомпилированным файлам)

вот скриншот с кодом ошибки. Как я могу заставить grunt добавить эти файлы. Я использовал стандартный grunt.js, поставляемый с yeoman.

введите здесь описание изображения


person Med Tumy    schedule 10.12.2015    source источник
comment
опубликуйте свои черновые задачи для создания вашей сборки   -  person pedrommuller    schedule 10.12.2015
comment
я отредактировал свой пост и добавил gruntFile.js   -  person Med Tumy    schedule 10.12.2015
comment
какой генератор йомена вы используете?   -  person pedrommuller    schedule 10.12.2015


Ответы (1)


Похоже, ваш HTML был переписан, чтобы указать папку DIST, что «имеет смысл», решение может состоять в том, чтобы сделать копию ваших компонентов Bower в папку DIST или изменить правила перезаписи html в ваших задачах ворчания.

Я использую задачу копирования ворчания, подобную этой

copy: {
            main: {
                files: [
                    { src: ['**/**.min.css'], dest: 'dist/' },
                    { src: ['bower_components/font-awesome/fonts/**'], dest: 'dist/' },
                    { src: ['bower_components/Chart.js/Chart.min.**'], dest: 'dist/' },
                    { src: ['bower_components/jquery/jquery.min.**'], dest: 'dist/' },
                    { src: ['bower_components/angular/angular.min.**'], dest: 'dist/' },
                    { src: ['bower_components/angular-i18n/angular-locale_es-419.min.**'], dest: 'dist/' },
                    //... and so on...

               ]
            }
        }
person pedrommuller    schedule 10.12.2015
comment
я должен удалить копию: { tmp: { files: [{ expand: true, cwd: 'test/fixtures', src: ['usemin.html', 'usemin/*'], dest: 'tmp/' }] } или мне нужно объединить оба - person Med Tumy; 11.12.2015
comment
похоже, что этот шаг предназначен для выполнения других процессов позже, вероятно, для сжатия/оптимизации файлов js, поэтому я не думаю, что удаление этого шага является хорошим вариантом, попробуйте добавить дополнительные шаги для копирования файлов в папку DIST - person pedrommuller; 12.12.2015
comment
Вы дважды проверили файлы в папке dist? - person pedrommuller; 12.12.2015
comment
я не могу ничего проверить в папке dist, это скомпилированные и минимизированные файлы - person Med Tumy; 12.12.2015
comment
Я имею в виду, находятся ли библиотеки физически в dist/bower_components/linbrary-name? - person pedrommuller; 12.12.2015
comment
ах да конечно. потому что, когда я запускаю grunt serve (который запускает нескомпилированную версию), он работает - person Med Tumy; 13.12.2015