我试图使用grunt-contrib-sass编译SASS,但是我得到了一个空的CSS文件。
下面是我能想到的编译SASS/SCSS的最简单的package.json:
{
"name": "sassgrunt",
"version": "1.0.0",
"scripts": {
"sass": "node-sass"
},
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-sass": "^1.0.0",
"node-sass": "^4.7.2",
"sass": "^1.0.0-beta.4"
}
}这就像SCSS文件所能得到的一样简单:
body {
background: red;
}而这个gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sass: {
dist: {
files: {
'./test.css': './test.scss'
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
};如果我执行grunt sass,它将创建一个全新的空test.css文件。
我想我知道为什么。
这个命令从我的源代码中创建了一个非常好的test2.css:
npm run sass test.scss test2.css但这一次只是将编译后的CSS输出到显示中,并创建一个空文件:
npm run sass test.scss当我运行grunt sass时,这正是我所看到的。这意味着grunt-contrib-sass没有正确指定命令行。
我不明白为什么,因为这个设置正是我所见过的每一个例子中所显示的。当然,我的设置一定有问题,否则每个人都会有这个问题?
发布于 2017-12-17 20:27:09
也许还有其他的问题,但我认为grunt-contrib-sass只是个哑巴。
我用grunt-sass替换了它,它在相同的gruntfile文件设置中工作得很好。只需使用NPM或Yarn安装,并将grunt.loadNpmTasks('grunt-contrib-sass');替换为grunt.loadNpmTasks('grunt-sass');。
https://stackoverflow.com/questions/47807968
复制相似问题