2017-04-20 61 views
0

运行步兵和萨斯的第一次,我在终端修改SCSS文件时收到此错误:哪条路径需要是字符串?

danales-MacBook-Pro:sass-test danale$ grunt 
Running "watch" task 
Waiting... 
>> File "SCSS/_main.scss" changed. 
Running "sass:dev" (sass) task 
Warning: Path must be a string. Received undefined Use --force to continue. 

Aborted due to warnings. 
Completed in 0.587s at Thu Apr 20 2017 12:47:54 GMT-0400 (EDT) - Waiting... 
>> File "SCSS/_mixins.scss" changed. 
Running "sass:dev" (sass) task 
Warning: Path must be a string. Received undefined Use --force to continue. 

Aborted due to warnings. 
Completed in 0.545s at Thu Apr 20 2017 12:49:12 GMT-0400 (EDT) - Waiting... 

从我的理解,错误是说,在我的gruntfile的路径必须是一个字符串:

module.exports = function(grunt) { 

    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 

    /** 
    * SASS 
    */ 
    sass: { 
     dev: { 
     options: { 
     style: 'expanded', 
      sourcemap: 'none', 
     }, 
     files: { 
      'style.css': 'scss/style.css' 
     } 
     } 
    }, 

    /** 
    * watch 
    */ 
    watch: { 
     css: { 
      files: '**/*.scss', 
      tasks: ['sass'] 
     } 
    }, 
    }); 
    grunt.loadNpmTasks('grunt-contrib-sass'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.registerTask('default',['watch']); 
} 

但我不清楚哪个路径必须是一个字符串...

回答

0

就是它的意思是,你指向SASS文件不存在。从watch输出我可以看到该目录实际上被称为SCSS/(与scss/相比)。另外,您还没有指明要预处理的文件。试着改变你的sass任务配置,以指示正确的目录和主要SCSS文件:

files: { 
    'style.css': 'SCSS/_main.scss' // update this match your PRIMARY scss file 
} 
+0

jakerella,我改变它反映了你在你的答案,我仍然得到这个错误:>>文件“SCSS/_main .scss“已更改。运行“sass:dev”(sass)任务 警告:路径必须是字符串。收到未定义使用--force继续。 – Daniel

+0

当它说,这几乎总是因为它正在寻找的文件实际上并不存在。仔细检查这些路径。 – jakerella