Я создаю одностраничное приложение, используя самую последнюю сборку yoman 1.0.0beta3 и компас 0.12.2.
При запуске compass:server
я получаю много ошибок, но во время разработки в моем браузере все в порядке. grunt build
тогда не дает сбоев, а создает неправильный вывод CSS, так что макет в браузере искажается. Может быть, это все моя вина, вызванная недоразумением.
У меня есть файл 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 и compass сейчас я получаю следующую ошибку:
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']
}
},
Кто-нибудь может просветить меня?
С уважением Феликс