Javascript Grunt contrib sass不使用指南针
我是Grunt的新手,正在尝试配置Grunt contrib sass与Compass一起工作 我正在使用grunt contrib sass插件,因为我需要将我的.scss文件导出到两个不同的目的地,而我无法使用grunt contrib compass 我遇到的问题是,在编译.scss文件时,终端中会出现“错误:无法加载指南针” 这是我的Grunfile.js的副本Javascript Grunt contrib sass不使用指南针,javascript,gruntjs,Javascript,Gruntjs,我是Grunt的新手,正在尝试配置Grunt contrib sass与Compass一起工作 我正在使用grunt contrib sass插件,因为我需要将我的.scss文件导出到两个不同的目的地,而我无法使用grunt contrib compass 我遇到的问题是,在编译.scss文件时,终端中会出现“错误:无法加载指南针” 这是我的Grunfile.js的副本 module.exports = function(grunt){ grunt.initConfig({ ug
module.exports = function(grunt){
grunt.initConfig({
uglify: {
my_target: {
files: {
'wp-content/themes/mytheme/js/functions.js' : [ 'components/js/*.js' ]
}
}
}, // uglify
sass:{
dist:{
files: {
'wp-content/themes/mytheme/style.css' : 'components/sass/style.scss',
'wp-content/themes/mytheme/css/ie.css' : 'components/sass/ie.scss '
},
options: {
compass: true,
}
}
},
watch: {
scripts : {
files: ['components/js/*.js'],
tasks: ['uglify']
},
css: {
files: [ 'components/sass/*.scss'],
tasks: [ 'sass' ],
options: { livereload: true }
},
livereload: {
options: { livereload: true },
files: ['wp-content/themes/mytheme/'],
},
} // watch
})
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask( 'default', 'watch' );
} // exports
谢谢 根据github页面,您需要先安装Ruby、Sass和Compass。您正在使用
grunt contrib sass
而不是grunt contrib compass
。请参阅contrib compass github上的。Grunt contrib sass不支持低于v1.0.0的compass版本(在编写本文时为alpha版本)
在使用更新罗盘之后
gem install compass --pre
在编译方面,一切似乎都很好。如上所述使用了相同的gruntfile.js。删除除已知工作版本3.2.19之外的所有sass版本为我解决了问题
$ sudo gem uninstall sass
Select gem to uninstall:
1. sass-3.2.3
2. sass-3.2.5
3. sass-3.2.19
4. sass-3.3.5
5. All versions
> 4
我找到了另一种不用红宝石就能让指南针工作的方法。(尽管这是一项工作) 转到并获取代码。 将core/stylesheets/compass的内容复制到sass/scss文件夹中。现在,您可以使用compass网站上的正常导入规则 但是:
您可能需要更改一些从compass导入的内容,如
import“compass/support”代码>在_transitions.scss中导入到导入“./支持”代码>grunt contrib sass与compass完美配合,只需将compass:true添加到选项中即可。我在官方git存储库上读到了这一点
范例
sass: {
dist: {
options: {
style: 'expanded',
compass: true
},
files: [
{
expand: true,
cwd: 'ipa-framework/src/css/scss',
src: ['*.scss'],
dest: 'ipa-framework/src/css',
ext: '.css'
}
]
}
}
因此,没有一个答案对我完全有效,但它确实帮助我解决了这个问题
使用安装指南针时
gem安装指南针--pre
它安装了另一个版本的sass,所以根本不要安装sass,让compass安装为您完成
为了让它发挥作用
gem uninstall sass
gem install compass --pre
作为参考,这是npm库,我需要让它工作
npm install -g grunt grunt-contrib-sass grunt-contrib-watch grunt-livereload sass grunt-contrib-cssmin grunt-contrib-compass
是的,所有安装和运行的都是最新的稳定版本。如果运行grunt-v
,输出是什么。你能把这个添加到你的问题中吗?是的,我能,尽管Grunt在编译sass和观看等方面工作得很好。我只是不能导入任何Compass的库。你正在使用Grunt contrib sass
。看看我的编辑是否有用。谢谢@mmjmanders的编辑。从那以后,我就有点挠头了。grunt contrib sass似乎不支持Compass版本<1.0.0。