【问题标题】:gulp.src is not writing destination files outgulp.src 没有写出目标文件
【发布时间】:2018-01-06 02:41:26
【问题描述】:

这很奇怪。我有这个输出:

converting sass to css...
[18:36:00] gulp-debug: src/app/app.component.scss
[18:36:00] gulp-debug: src/app/pages/about/about.component.scss
[18:36:00] gulp-debug: src/app/pages/contact/contact.component.scss
[18:36:00] gulp-debug: src/app/pages/home/home.component.scss
[18:36:00] gulp-debug: src/app/pages/home/components/control-panel/control-panel.component.scss
[18:36:00] gulp-debug: 5 items
notify clients of css change
change /Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/app/app.component.css
change /Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/app/pages/home/home.component.css
change /Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/app/pages/home/components/control-panel/control-panel.component.css
change /Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/app/pages/about/about.component.css
change /Users/alexamil/WebstormProjects/oresoftware/sumanjs/suman-chrome-extension/app/pages/contact/contact.component.css

这是我的代码:

  const gulp = require('gulp');
  const gdebug = require('gulp-debug');
  const sass = require('gulp-sass');

  console.log('converting sass to css...');
  gulp.src(path.resolve(root + '/src/**/**/*.scss'))
    .pipe(gdebug())
    .pipe(sass())
    .pipe(gulp.dest('.'))
    .once('finish', function () {
      console.log('notify clients of css change');
      notifyClients();
    });

从日志看来,文件正在被写出,但在我的编辑器中,文件系统中似乎没有任何新的 .css 文件,只有 .scss 文件。有谁知道可能出了什么问题?

【问题讨论】:

  • 我添加了 gdebug() 调用,但没有它也会发生同样的事情,所以这不会导致问题 tmk
  • 有与此相关的任务吗?我从来没有见过在 gulp.task 中运行的 gulp 命令。
  • 没有关联任务,只是独立运行 gulp 代码

标签: sass gulp angular5 gulp-sass


【解决方案1】:

如果是动态 src 并且您想要各自相同的 dest(在 src 中收到),那么您可以使用以下

示例假设我们有一个 scss 文件数组:

var gulp = require('gulp');
var sass = require('gulp-sass');

var scssArr = [
    'src/asdf/test2.scss',
    'src/qwerty/test1.scss'
];

    
function runSASS(cb) {
    scssArr.forEach(function(p){
        gulp.src(p, {base:'.'})
        .pipe(sass({outputStyle: 'compressed'}))//outputStyle is optional or simply sass()
        .pipe(gulp.dest('.')); //if othe folder including src path then use '/folder-name' instead of '.', so output path '/folder-name/{src-received-path}'
    })
    cb();
}

exports.runSASS = runSASS; // gulp runSASS

运行命令gulp runSASS这将创建以下文件:

src/asdf/test2.css

src/qwerty/test1.css

快乐编码..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2017-08-15
    相关资源
    最近更新 更多