我正在使用最新的yeoman构建1.0.0beta3和指南针0.12.2构建单页应用程序
启动compass:server
时出现很多错误,但在开发时我的浏览器中似乎都没问题。 grunt build
然后不会失败,但构建不正确的CSS输出,以便浏览器中的布局是borken。也许这是我的错,是由于误解造成的。
我拥有的main.sass
文件包含我的所有内容:
// compass
@import 'compass'
@import 'compass/reset'
@import 'compass/css3'
... and so on
//custom includes in the right order
@import 'base/dimensions'
@import 'base/colors'
@import 'base/layout'
文件base/dimensions
现在定义:
// height of the footer
$footer-height: 50px
并且(稍后)在base/layout
中我使用了它:
.content-bg
background-color: rgba(0, 0, 0, 0.05)
bottom: $footer-height
... and more
现在启动grunt和罗盘服务器时,出现以下错误:
Running "compass:server" (compass) task
directory .tmp/styles/
create .tmp/styles/avendor_font-awesome.css
create .tmp/styles/base_colors.css
create .tmp/styles/base_dimensions.css
error app/styles/base_layout.sass (Line 23: Undefined variable: "$footer-height".)
还有很多类似的错误。 (在开发时间内,页脚高度确实没问题。)
我不知道如何解决这个问题,我不知道这是否会导致构建运行后的CSS不正确。但是当我通过发布grunt
进行构建时,我在控制台中看到了相同的错误。
我应该提一下,我对Gruntfile.js进行了一些更改,以便.sass文件也从/ styles的子目录中加载:
grunt.initConfig({
yeoman: yeomanConfig,
watch: {
coffee: {
files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],
tasks: ['coffee:dist']
},
coffeeTest: {
files: ['test/spec/{,*/}*.coffee'],
tasks: ['coffee:test']
},
compass: {
**files: ['<%= yeoman.app %>/styles/{,**/}*.{scss,sass}'],**
tasks: ['compass']
},
livereload: {
files: [
'<%= yeoman.app %>/*.html',
'{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css',
**'{.tmp,<%= yeoman.app %>}/styles/{,**/}*.css',**
'{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js',
'<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,webp}'
],
tasks: ['livereload']
}
},
任何人都可以启发我吗?
此致 菲利克斯
答案 0 :(得分:9)
对于遇到同样问题的每个人:文件的命名都可以解决问题。要包含在main.css中的每个文件都是这样的:
@include 'base/colors'
必须命名为:
_colors.sass
而不是:
colors.sass
在这种情况下,在base
目录中的。我也做了,将main.css
重命名为main.css.sass
现在一切正常,我学到了另一件事。