使用Yeoman工作流程在何处添加css文件

时间:2013-08-11 20:23:06

标签: gruntjs yeoman

我使用Yeoman进行角度设置。在我的main.html(加载到index.html上的视图)下,我在styles文件夹中添加了一个引用的css文件。

我用构建注释包围它,以便在最小化时可以通过grunt获取它:

<!-- build:css({.tmp,app}) styles/calendar.css -->
<link rel="stylesheet" href="styles/fullcalendar.css" />
<!-- endbuild -->   

但是,当我使用grunt(使用基本的yeoman grunt配置)构建时,它似乎不会创建calendar.css文件。我怀疑这可能是因为main.html文件位于views / main.html中。

来自我的咕噜文件:

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

...

cssmin: {
  // By default, your `index.html` <!-- Usemin Block --> will take care of
  // minification. This option is pre-configured if you do not wish to use
  // Usemin blocks.
  // dist: {
  //   files: {
  //     '<%= yeoman.dist %>/styles/main.css': [
  //       '.tmp/styles/{,*/}*.css',
  //       '<%= yeoman.app %>/styles/{,*/}*.css'
  //     ]
  //   }
  // }
},

它不在views目录中查找。我怀疑我错误地使用了工作流程。

如何包含特定于视图的css文件? 另外,cssmin块中的注释是什么意思? 谢谢!

1 个答案:

答案 0 :(得分:5)

我得到了答案!

Gruntfile.js需要更多配置,因为您使用的是自定义工作流程。 (如果你已经完成了这些,请忽略。)

首先,需要更新复制任务以将app/views目录复制到dist/views。这是一个很容易解决的问题:

copy: {
    dist: {
        files: [{
            expand: true,
            dot: true,
            cwd: '<%= yeoman.app %>',
            dest: '<%= yeoman.dist %>',
            src: [
                '*.{ico,png,txt}',
                '.htaccess',
                'images/{,*/}*.{webp,gif}',
                'styles/fonts/*',
                'views/*'
            ]
        }]
    },
    // ...
}

酷酷。现在,useminPrepare在你的东西被复制之前运行,也需要知道views目录。

useminPrepare: {
    options: {
        dest: '<%= yeoman.dist %>'
    },
    html: [
        '<%= yeoman.app %>/index.html',
        '<%= yeoman.app %>/views/*.html'
    ]
},

Woot woot!就是这样!

如果你被困在任何地方,请告诉我!