2016-07-05 11 views
0

私はWebStorm 2016 IDEに次のようなgulpfile.jsを持っています。私のSCSSスタイルシートは現在、すべての@インポートを行うsrc/scss/style.scssにあります。WebStorm、Gulpがバーボンをインポートできない

これを理解しようとすると膨大な研究と時間を費やした後、私はメインのscssファイルに@import "bourbon";を行うことができません。私は何かがgulpファイルで正しくないと推測しています.2番目のIDEは、npmパッケージのインポートでredlineを表示しています(つまり、node_modulesへの正しいパスを見ることができません)。

誰もこれを設定する方法を理解できましたか?何か助けていただければ幸いです。ありがとうございます。

gulfile.js

var gulp = require('gulp'), 
     sass = require('gulp-sass'), 
     browserSync = require('browser-sync'), 
     autoprefixer = require('gulp-autoprefixer'), 
     uglify = require('gulp-uglify'), 
     jshint = require('gulp-jshint'), 
     header = require('gulp-header'), 
     rename = require('gulp-rename'), 
     cssnano = require('gulp-cssnano'), 
     package = require('./package.json'); 

    var paths = { 
     scss: './src/scss/*.scss' 
    }; 

    var sass_config = { // THE INCLUDES FOR BOTH PROD AND DEV 
     includePaths: [ 
     require('node-neat').includePaths 
     ], 
     style: 'compressed', 
     quiet: true, 
     sourcemap: true 
    }; 

    var banner = [ 
     '/*!\n' + 
     ' * <%= package.name %>\n' + 
     ' * <%= package.title %>\n' + 
     ' * <%= package.url %>\n' + 
     ' * @author <%= package.author %>\n' + 
     ' * @version <%= package.version %>\n' + 
     ' * Copyright ' + new Date().getFullYear() + '. <%= package.license %> licensed.\n' + 
     ' */', 
     '\n' 
    ].join(''); 

    gulp.task('css', function() { 
     return gulp.src(paths.scss) 
     .pipe(sass(sass_config).on('error', sass.logError)) 
     .pipe(autoprefixer('last 4 version')) 
     .pipe(gulp.dest('app/assets/css')) 
     .pipe(cssnano()) 
     .pipe(rename({ suffix: '.min' })) 
     .pipe(header(banner, { package : package })) 
     .pipe(gulp.dest('app/assets/css')) 
     .pipe(browserSync.reload({stream:true})); 
    }); 

    gulp.task('js',function(){ 
     gulp.src('src/js/scripts.js') 
     .pipe(jshint('.jshintrc')) 
     .pipe(jshint.reporter('default')) 
     .pipe(header(banner, { package : package })) 
     .pipe(gulp.dest('app/assets/js')) 
     .pipe(uglify()) 
     .pipe(header(banner, { package : package })) 
     .pipe(rename({ suffix: '.min' })) 
     .pipe(gulp.dest('app/assets/js')) 
     .pipe(browserSync.reload({stream:true, once: true})); 
    }); 

    gulp.task('browser-sync', function() { 
     browserSync.init(null, { 
      server: { 
       baseDir: "app" 
      } 
     }); 
    }); 
    gulp.task('bs-reload', function() { 
     browserSync.reload(); 
    }); 

    gulp.task('default', ['css', 'js', 'browser-sync'], function() { 
     gulp.watch("src/scss/*/*.scss", ['css']); 
     gulp.watch("src/js/*.js", ['js']); 
     gulp.watch("app/*.html", ['bs-reload']); 
    }); 

答えて

0

次のコードの微調整は、私のSCSSファイルでの輸入を経由して作業を開始するために私のブルボンやニートを得ました。しかし、WebStormには、IDEの "ファイルバーボンを解決できません"というエラーが表示され、@import "bourbon"の下に赤いアンダースコアが付いています。しかし、それは働いているので、私は何とか正しい経路を解決できないと思っています。誰かが解決策を知っているなら、コメントしてください。

 var gulp = require('gulp'), 
      sass = require('gulp-sass'), 
      browserSync = require('browser-sync'), 
      autoprefixer = require('gulp-autoprefixer'), 
      uglify = require('gulp-uglify'), 
      jshint = require('gulp-jshint'), 
      header = require('gulp-header'), 
      rename = require('gulp-rename'), 
      cssnano = require('gulp-cssnano'), 
      package = require('./package.json'); 

     var paths = { 
      scss: 'src/scss/*.scss' 
     }; 

     var sass_config = { // THE INCLUDES FOR BOTH PROD AND DEV 
      includePaths: require('node-neat').includePaths, 
      style: 'compressed', 
      quiet: true, 
      sourcemap: true 
     }; 

     var banner = [ 
      '/*!\n' + 
      ' * <%= package.name %>\n' + 
      ' * <%= package.title %>\n' + 
      ' * <%= package.url %>\n' + 
      ' * @author <%= package.author %>\n' + 
      ' * @version <%= package.version %>\n' + 
      ' * Copyright ' + new Date().getFullYear() + '. <%= package.license %> licensed.\n' + 
      ' */', 
      '\n' 
     ].join(''); 

     gulp.task('css', function() { 
      return gulp.src(paths.scss) 
      .pipe(sass(sass_config).on('error', sass.logError)) 
      .pipe(autoprefixer('last 4 version')) 
      .pipe(gulp.dest('app/assets/css')) 
      .pipe(cssnano()) 
      .pipe(rename({ suffix: '.min' })) 
      .pipe(header(banner, { package : package })) 
      .pipe(gulp.dest('app/assets/css')) 
      .pipe(browserSync.reload({stream:true})); 
     }); 

     gulp.task('js',function(){ 
      gulp.src('src/js/scripts.js') 
      .pipe(jshint('.jshintrc')) 
      .pipe(jshint.reporter('default')) 
      .pipe(header(banner, { package : package })) 
      .pipe(gulp.dest('app/assets/js')) 
      .pipe(uglify()) 
      .pipe(header(banner, { package : package })) 
      .pipe(rename({ suffix: '.min' })) 
      .pipe(gulp.dest('app/assets/js')) 
      .pipe(browserSync.reload({stream:true, once: true})); 
     }); 

     gulp.task('browser-sync', function() { 
      browserSync.init(null, { 
       server: { 
        baseDir: "app" 
       } 
      }); 
     }); 
     gulp.task('bs-reload', function() { 
      browserSync.reload(); 
     }); 

     gulp.task('default', ['css', 'js', 'browser-sync'], function() { 
      gulp.watch("src/scss/**/*.scss", ['css']); 
      gulp.watch("src/js/*.js", ['js']); 
      gulp.watch("app/*.html", ['bs-reload']); 
     }); 
関連する問題