【问题标题】:Putting into Diffrent Files With same name. GulpJS放入具有相同名称的不同文件中。吞咽
【发布时间】:2016-06-16 04:49:54
【问题描述】:

我有这个论坛即时确保你们现在知道,但我的问题是我需要“同时”将 css 文件更改为 sass。这是我在项目中的示例heierchy:

app/
         components/
                                     404/
                                             controllers/
                                                         404Ctrl.js
                                             sass/
                                                       404.scss
                                             css/
                                                       404.min.css
                                    home/

                                             controllers/
                                                         homeCtrl.js
                                             sass/
                                                  home.scss
                                             css/
                                                  home.min.css
                                  etc... much more

所以你可以看到我有一个 sass 文件夹和 css 文件夹.. 我想做的是,每当我更改我的 scss 文件时,我想将它缩小,然后将它放入 css 文件中.. 但是我有很多组件,例如 404、home、authDesc 等...当我键入 gulp sass 时,我需要以某种方式处理许多文件夹。这就是我到目前为止所拥有的,但问题就像我之前说的我需要知道把它放在哪个目的地..

这是我目前所拥有的:

gulp.task('sass', function(done) {
  gulp.src('app/components/{COMPONENT_NAME}/sass/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('assets/history/css'))
    .pipe(minifyCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('app/components/{COMPONENT_NAME}/css'))
    .on('end', done);
});

但我需要用所需的组件更改那个 {COMONENT_NAME}。非常感谢您的帮助

编辑

我找到了一个小技巧,但这有一些错误:

var PATHS_SASS = {
    scss_org : [
        'app/components/404/sass/404.scss',
        'app/components/auth/sass/auth.scss'
    ],  
    css_dest : [
        'app/components/404/css',
        'app/components/auth/css'
    ]

}
gulp.task('sass', function() {
  for(var i=0; i<2; i++) {
        gulp.src(PATHS_SASS.scss_org[i])
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('assets/history/css'))
        .pipe(minifyCss({
          keepSpecialComments: 0
        }))
        .pipe(rename({ extname: '.min.css' }))
        .pipe(gulp.dest(PATHS_SASS.css_dest[i]))
  }

});

【问题讨论】:

    标签: javascript css sass gulp


    【解决方案1】:

    添加一个 main.scss 文件,在其中导入所有其他 sass 文件,然后只编译该文件。你应该在这个repo 中找到一个完美的代码示例

    【讨论】:

    • 如果我不想把所有东西都放在一个文件里怎么办?在你改变之前我的原始任务可能吗?
    • 那对不起,我不知道怎么用 gulp 做,但是你考虑过 webpack 吗?它可以为您解决所有问题,而无需担心 sass 和 css
    • Mostafa,我找到了一个迷你技术,但有一些错误。也许你可以修复它?我编辑了我的问题以解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2014-02-25
    • 2017-09-29
    相关资源
    最近更新 更多