"dest.on не является функцией", используя post css -rtl с gulp v4 - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь преобразовать документ css в rtl (справа налево), используя post css -rtl, и автоматизировать это, используя gulp. Это ошибка, которую я получаю при запуске gulp watch:

TypeError: dest.on is not a function
    at DestroyableTransform.Readable.pipe (D:\Projects\BootstrapRTL\node_modules\readable-stream\lib\_stream_readable.js:564:8)
    at rtlize (D:\Projects\BootstrapRTL\gulpfile.js:39:8)
    at rtlize (D:\Projects\BootstrapRTL\node_modules\undertaker\lib\set-task.js:13:15)
    at bound (domain.js:422:14)
    at runBound (domain.js:435:12)
    at asyncRunner (D:\Projects\BootstrapRTL\node_modules\async-done\index.js:55:18)
    at processTicksAndRejections (internal/process/task_queues.js:75:11)

Это мой код для указанной функции c:

const gulp = require("gulp");
const postcss = require("postcss");
const rtl = require("postcss-rtl");

function rtlize() {
  return (
    // 1. Get the css file
    gulp
      .src("./css/main.css")
      // 2. Rtlize the css file
      .pipe(postcss(rtl()))
      // 3. Export the css file
      .pipe(gulp.dest("./css/rtl"))
  );
}

exports.rtlize = rtlize;

1 Ответ

0 голосов
/ 14 февраля 2020

Изменить это:

См. https://www.npmjs.com/package/postcss-rtl#with -gulp ; из документов:

.pipe( postcss( [ rtl( options ) ]) )  // should be like this

Уведомление rtl находится в массиве. Не .pipe(postcss(rtl())), как у вас.

...