首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grunt build不创建css文件

Grunt build不创建css文件
EN

Stack Overflow用户
提问于 2014-02-07 07:19:51
回答 3查看 11.4K关注 0票数 3

我是约曼和格朗特的新手。

在进行Grunt构建时,构建似乎成功结束,但是dist/style/*.css文件没有被创建。

从日志中看,样式似乎被编译为.tmp/style/(参见下面的"compass:dist“(指南针)任务),但没有被复制或缩小为dist/style。这就是为什么"usemin:css“不归档这些文件的原因。-但这只是一个猜测。

我使用的是由yeoman生成的基本Gruntfile.info (我在下面添加了它),我所做的唯一更改是注释掉了cssmin任务,因为假设要做same thing

以下是构建输出:

代码语言:javascript
复制
$ grunt build
Running "clean:dist" (clean) task
Running "bower-install:app" (bower-install) task

Running "useminPrepare:html" (useminPrepare) task
Going through app/index.html to update the config
Looking for build script HTML comment blocks

Configuration is now:

  concat:
  { generated:
   { files:
      [ { dest: '.tmp\\concat\\scripts\\scripts.js',
          src:
           [ LIBRARIES ] },
        { dest: '.tmp\\concat\\scripts\\modules.js',
          src:
           [ SOURCE ] } ] } }

  uglify:
  { generated:
   { files:
      [ { dest: 'dist\\scripts\\scripts.js',
          src: [ '.tmp\\concat\\scripts\\scripts.js' ] },
        { dest: 'dist\\scripts\\modules.js',
          src: [ '.tmp\\concat\\scripts\\modules.js' ] } ] } }

  cssmin:
  {}

Running "concurrent:dist" (concurrent) task

Running "imagemin:dist" (imagemin) task
? app/images/yeoman.png (saved 9.06 kB)
Minified 1 image (saved 9.06 kB)

Done, without errors.

Running "svgmin:dist" (svgmin) task

Done, without errors.

Running "compass:dist" (compass) task
directory .tmp/styles/
       create .tmp/styles/bootstrap.css (1.759s)
       create .tmp/styles/main.css (0.117s)
       create .tmp/styles/problem-comprehension.css (0.002s)
       create .tmp/styles/problem-timedword.css (0.002s)
       create .tmp/styles/track-detail.css (0.009s)
    Compilation took 1.915s

Done, without errors.

Running "autoprefixer:dist" (autoprefixer) task
Prefixed file ".tmp/styles/bootstrap.css" created.
Prefixed file ".tmp/styles/main.css" created.
Prefixed file ".tmp/styles/problem-comprehension.css" created.
Prefixed file ".tmp/styles/problem-timedword.css" created.
Prefixed file ".tmp/styles/track-detail.css" created.

Running "concat:generated" (concat) task
File ".tmp\concat\scripts\scripts.js" created.
File ".tmp\concat\scripts\modules.js" created.

.
.
.

Running "usemin:html" (usemin) task

Processing as HTML - dist/404.html
Update the HTML to reference our concat/min/revved script files
Update the HTML with the new css filenames
Update the HTML with the new img filenames
Update the HTML with data-main tags
Update the HTML with data-* tags
Update the HTML with background imgs, case there is some inline style
Update the HTML with anchors images
Update the HTML with reference in input
.
All HTML files in the project
.

Running "usemin:css" (usemin) task

Running "htmlmin:dist" (htmlmin) task
File <FILE>.html created.

Done, without errors.


Execution Time (2014-02-06 22:23:38 UTC)
clean:dist         1.3s  ■■■■■■■■■■ 7%
concurrent:dist    5.3s  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 29%
ngmin:dist         2.3s  ■■■■■■■■■■■■■■■■■ 13%
copy:dist          6.1s  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 33%
uglify:generated   2.6s  ■■■■■■■■■■■■■■■■■■■ 14%
usemin:html       349ms  ■■■ 2%
Total 18.4s

来自Grunt.js的构建目标:

代码语言:javascript
复制
grunt.registerTask('build', [
    'clean:dist',
    'bower-install',
    'useminPrepare',
    'concurrent:dist',
    'autoprefixer',
    'concat',
    'ngmin',
    'copy:dist',
    'cdnify',
//    'cssmin',
    'uglify',
    'rev',
    'usemin',
    'htmlmin'
  ]);

干杯!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-07 12:32:42

根据我的经验,Yeoman需要做一些调整。它的Grunt引擎确实想要缩小一些东西--这是它的主要增值之一。我对它也很陌生,但我想可能是grunt文件中空的cssmin区域把你搞得一团糟。尝试将以下内容放入gruntfile.js的cssmin区域-

代码语言:javascript
复制
    cssmin: {
        dist: {
            files: {
                '<%= yeoman.dist %>/styles/main.css': [
                    '.tmp/styles/{,*/}*.css',
                    '<%= yeoman.app %>/styles/{,*/}*.css'
                ]
            }
        }
    },

这应该会给你的css缩小一些牙齿。然后,你可以在gruntfile.js底部的构建任务中取消对cssmin的注释,这样当你在命令行界面上进行“grunt build”时,它就会运行。

票数 8
EN

Stack Overflow用户

发布于 2014-11-09 03:59:17

你的HTML可能有问题,可能是你忘了添加任务的注释。

代码语言:javascript
复制
<!-- build:css(.) styles/vendor.css -->
<!-- bower:css -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
<!-- endbower -->
<!-- endbuild -->
票数 12
EN

Stack Overflow用户

发布于 2016-01-28 14:16:47

我尝试了这里解释的所有选项,但没有一个对我有效。解决我这个问题的方法是:将文件命名为SCSS扩展名,作为样式文件,例如,custom.scss位于<%= yeoman.app %>/yeoman.app/文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21616210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档