我想将normalize.scss与我目前使用Grunt设置的项目一起使用,以使用Compass编译SCSS。
我发现了这个,并使用下面的命令安装了它(从这里:https://www.npmjs.com/package/node-normalize-scss)
npm install node-normalize-scss --save-dev
下面是gulp和grunt的配置示例,但不适用于指南针。我尝试过使用:
includePaths:require('node-normalize-scss')。includePaths
并将其添加到我的GruntFile.js中的Compass选项中,但是我收到的错误开始有点像这样:
运行“指南针:开发”(指南针)任务 错误:无效选项: - include-paths = / Applications / MAMP / htdocs / homepagev2 / node_modules / node-normalize-scss
用法:罗盘编译[path / to / project] [path / to / project / src / file.sass ...] [options]
描述: 如果未指定,则在指定的路径或当前目录下编译项目。
之后我读到我可以使用一个简单的命令来导入该路径,以便在我的.scss中我可以@import“normalize”
importPath:'node_modules / node-normalize-scss /',
但是使用这个我得到一个错误说
>>文件“styles / sass / style.scss”已更改。 找不到本地Npm模块“node-normalize-scss”。它安装了吗?
但它似乎正在将normalize.scss压缩成css,所以我猜它有点工作。
有没有更好的解决方案,所以我没有在编译时得到错误?
谢谢。
答案 0 :(得分:0)
我也有这个问题,最终在这里找到答案:https://github.com/gruntjs/grunt-contrib-compass
用于指南针的选项(对于sass采用完全不同的选项)是 importPath ,您已经找到了它,并且它的工作方式相同。
所以,importPath: require('node-normalize-scss').includePaths
应该,希望对你有用。
这是我当前的Gruntfile.js:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
compass: {
dist: {
options: {
importPath: require('node-normalize-scss').includePaths,
sassDir: 'path/to/sass',
cssDir: 'path/to/css'
}
}
},
watch: {
css: {
files: '**/*.scss',
tasks: ['compass']
}
}
});
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default',['watch']);
}