我是 Yeoman 和 Grunt 的新手。
在进行 Grunt 构建时,构建似乎成功结束,但没有创建 dist/styles/*.css 文件。
从日志看来,样式被编译为 .tmp/styles/(请参阅下面的“compass:dist”( compass )任务)但没有被复制或缩小到 dist/styles。这就是“usemin:css”(usemin)不归档文件的原因。 - 但这只是猜测。
我正在使用由 yeoman 生成的基本 Gruntfile.info(我在下面添加了它)
我所做的唯一更改是注释掉 cssmin 任务,因为假设要执行 same thing 。
这是构建输出:
$ 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 的构建目标:
grunt.registerTask('build', [
'clean:dist',
'bower-install',
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'concat',
'ngmin',
'copy:dist',
'cdnify',
// 'cssmin',
'uglify',
'rev',
'usemin',
'htmlmin'
]);
干杯!
最佳答案
根据我的经验,开箱即用的 Yeoman 需要一些调整。它的 Grunt 引擎真的想缩小东西——这是它的主要增值之一。我对它也很陌生,但我想 grunt 文件中的空 cssmin 区域是什么让你一团糟。尝试将这样的内容放入 gruntfile.js 的 cssmin 区域 -
cssmin: {
dist: {
files: {
'<%= yeoman.dist %>/styles/main.css': [
'.tmp/styles/{,*/}*.css',
'<%= yeoman.app %>/styles/{,*/}*.css'
]
}
}
},
那应该让你的 css 缩小一些 dentry 。然后,您将在 gruntfile.js 底部的构建任务中取消注释 cssmin,以便在您在 CLI 上执行“grunt build”时它会运行。
关于css - Grunt 构建不会创建 css 文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21616210/