Gulp Sass导入路径不正确

时间:2015-12-19 02:22:42

标签: gulp gulp-sass

我的gulp构建文件与sass导入有问题。

我正在使用gulp-importify创建一个build.scss文件,该文件具有我的依赖项,第三方css和我的自定义css的正确顺序。

导入任务

module.exports = function() {
  APP.gulp.src(APP.concat.sass)
  .pipe(APP.tasks.importify('build.scss', {
    cssPreproc: 'scss'
  }))
  .pipe(APP.gulp.dest('build/sass/'));
};

我的文件夹结构如下:

gulp
 - bower_components
 - build
   - sass
     - build.scss
     - modules
       -forms.scss

包含导入的build.scss文件具有以下路径

@import "_bootstrap-sprockets";

@import "variables.scss";

@import "modules/form.scss";

但是bower组件回到了两个目录。

@import "../../bower-components/bootstrap-sass/assets/stylesheets/_bootstrap-sprockets";

@import "variables.scss";

@import "modules/form.scss";

有没有其他方法或方法在Gulp中设置完整的相对/正确的导入路径?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我通过gulp.src添加了一个基本路径,如下所示:

module.exports = function() {
  APP.gulp.src(APP.concat.sass, 
    {base: 'build/sass'})
  .pipe(APP.tasks.imports('build/sass/build.scss', {
    cssPreproc: 'scss'
  }))
  .pipe(APP.gulp.dest('.'));
};

您还可以使用Node中可用的全局流程对象来获取当前工作目录。因此,您可以将基数设置为:

{base: process.cwd() }