使用 Bower 自定义 zurb foundation 6 的正确方法

Correct Way to customize zurb foundation 6 with bower

将 zurb foundation 6 与 bower 一起使用,使用 _settings.scss 文件自定义它的正常工作流程是什么,这样文件就不会留在 bower_components 文件夹中。

说我们可以复制设置文件,然后将其导入我们的 app.scss.

在我的自定义 scss 文件夹中,我使用 _settings 文件作为模板创建了一个 settings.scss 文件,但在这种情况下,我还必须复制整个 utils 文件夹,因为设置文件会导入它。(或将 utils 文件夹的导入路径更改为 bower_components).

中的路径

有更好的方法吗??

编辑

我正在使用 gulp 编译 sass 个文件。

gulp.task('sass', () => {

    gulp.src('./app/sass/app.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(concat('style.css'))
    .pipe(gulp.dest('./app'))

})

这就是 app.scss 现在的样子(foundation.scss 是一个从 bower_components 中导入 scss 文件的文件,而 settings 是 _settings 文件的克隆有一些变化)

@import 'settings';
@import 'foundation';

@include foundation-global-styles;
// @include foundation-grid;
@include foundation-flex-grid;
// @include foundation-typography;

您肯定想从 bower_components 目录中复制设置文件。然后,您应该将 bower_components/foundation-sites/scss 添加到编译 SCSS 的导入路径中,这将解决 utils 问题。导入路径需要位于 gulp-sass 管道内的选项对象中,如下所示:

gulp.task('sass', () => {

    gulp.src('./app/sass/app.scss')
    .pipe(sass({
        includePaths: ['bower_components/foundation-sites/scss']
    }).on('error', sass.logError))
    .pipe(concat('style.css'))
    .pipe(gulp.dest('./app'))
})

当您使用 includePaths 选项时,导入将检查与当前目录相关的文件,然后是与 includePaths 数组中的目录相关的文件。 @import util/util 在将 bower_components/foundation-sites/scss 添加到 includePaths 之后起作用,因为完整路径是 bower_components/foundation-sites/scss/util/_util.scss.

更简单:

  1. 将默认 bower_components/foundation-sites/scss/settings/_settings.scss 文件移动到您自己的项目样式中。
  2. 根据自己的喜好编辑 _settings.scss 文件。
  3. 转到 bower_components/foundation-sites/scss/foundation.scss 文件:

替换:

// Settings
// import your own `settings` here or
// import and modify the default settings through
// @import 'settings';

有:

// Settings
// import your own `settings` here or
// import and modify the default settings through
@import 'your_own/project/styles/path/settings';
  1. 确保在您的样式中导入基础:

@import "bower_components/foundation-sites/scss/foundation.scss";

  1. 瞧!