我有一个在Grunt上运行的指南针任务,它生成了一个已编译的base.css文件和一些特定于页面的CSS文件。 base.scss @imports一个_settings.scss部分,该部分为所有文件指定了一些全局设置。
我希望能够多次调用指南针任务,但每次都能规定不同的设置文件被导入到base.scss中,并使用不同的cssDir作为输出。这是可行的吗?
我尝试了下面的方法,基本上是通过在两个不同的指南针任务中添加到config.rb(通过raw)来实现的。每个任务都包括一个不同的导入路径,指向包含设置文件的目录。然后,在我的base.scss顶部,该设置文件被选为@import settings.scss。
这似乎有效,虽然感觉像是一个hack,但这是我找到的最接近可行解决方案。看起来应该有一种方法可以做到这一点,但目前我还没有找到解决方案。
现在我想知道是否可以使用registerTask()创建我需要的功能,类似于我在这里找到的方法:Programmatically pass arguments to grunt task?
compass: {
theme: {
options: {
sassDir: '/sass',
cssDir: 'css',
fontsPath: 'css/fonts',
imagesPath: 'img'
}
}
}
我希望能够多次调用指南针任务,但每次都能规定不同的设置文件被导入到base.scss中,并使用不同的cssDir作为输出。这是可行的吗?
我尝试了下面的方法,基本上是通过在两个不同的指南针任务中添加到config.rb(通过raw)来实现的。每个任务都包括一个不同的导入路径,指向包含设置文件的目录。然后,在我的base.scss顶部,该设置文件被选为@import settings.scss。
compass: {
theme: {
options: {
httpPath: '/',
sassDir: '/sass',
cssDir: 'css',
raw: 'add_import_path "/sass/theme"'
}
},
theme2: {
options: {
httpPath: '/',
sassDir: '/sass',
cssDir: 'css',
raw: 'add_import_path "/sass/theme2"'
}
}
}
这似乎有效,虽然感觉像是一个hack,但这是我找到的最接近可行解决方案。看起来应该有一种方法可以做到这一点,但目前我还没有找到解决方案。
现在我想知道是否可以使用registerTask()创建我需要的功能,类似于我在这里找到的方法:Programmatically pass arguments to grunt task?