

gulp-sassを使ってSassファイルをコンパイルする際に

[code]

    ~/gluptest ❯ gulp sass
    [15:46:37] Using gulpfile ~/Desktop/gluptest/gulpfile.js
    [15:46:37] Starting 'sass'...
    Error in plugin 'sass'
    Message:
        node_modules/sass-graph/test/fixtures/d.scss
    Error: File to import not found or unreadable: e
           Parent style sheet: stdin
            on line 1 of stdin
    >>@import "e";
      ^
    
[/code]

というようなエラーが出ます。  
**node_modules/sass-graph/test/fixtures/d.scss** には

[code]

    @import "e";
    
[/code]

と記述されており  
確かに **_node_modules/sass-graph/test/fixtures_** 内には **_e.scss_** は存在しません。  
どうすればよろしいでしょうか。

なお、gulp-sassは

[code]

    sudo npm install gulp-sass --save-dev
    
[/code]

でインストールしました。

また、 **gulofile.js** は、以下のように記述しました

[code]

    'use strict';
    
    var gulp = require('gulp');
    var sass = require('gulp-sass');
    
    gulp.task('sass', function () {
      return gulp.src('./**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('./'));
    });
    
    gulp.task('sass:watch', function () {
      gulp.watch('./**/*.scss', ['sass']);
    });
    
[/code]

実行環境

  * OS X 10.11.3
  * node.js v5.7.0
  * npm 3.7.5
  * gulp CLI version 3.9.1 , Local version 3.9.1


CC BY-SA 3.0
2016-03-04T07:05:18.787
22795
2016-03-04T08:40:45.690
2016-03-04T07:18:38.743
14648
14648
question
gulp
gulp-sassでのコンパイル時のエラーについて

[code]

    gulp.src('./**/*.scss')
    
[/code]

この記述では、現在のディレクトリ以下の全てのscssファイルをコンパイル対象にしています。そのため、`./node_modules/`
内にインストールされたNodeモジュールの、テスト用ファイルもコンパイルしてしまってします。

自分のプロジェクトのファイルをgulp-
sassなどでコンパイルする場合は、そのscssファイルを特定のディレクトリの中に置いて、そこだけを対象にコンパイルを行います。例えば・・・

[code]

    .
    |-- src //コンパイル元
    | `-- css
    |   |-- main.scss
    |   |-- sub.scss
    |   `-- ...
    `-- dest //コンパイル先
      `-- css
        |-- main.css
        |-- sub.css
        `-- ...
    
[/code]

という構造にしておいて、

[code]

    gulp.task('sass', function () {
      return gulp.src('./src/css/**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('./dest/css/'));
    });
    
[/code]

といった感じに指定します。この場合 `./src/css/` 以下の全てのscssファイルをそれぞれコンパイルし、`./dest/css/`
以下に出力します。


CC BY-SA 3.0
2016-03-04T08:40:45.690
22798
2016-03-04T08:40:45.690
8000
22795
answer