質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.60%

postcss-custom-propertiesがうまく動きません。

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,538
退会済みユーザー

退会済みユーザー

postcss-custom-propertiesがうまく動きません。

・エラー
throw new gutil.PluginError('gulp-postcss', 'Please provide array of postcss processors!')
^
Error: Please provide array of postcss processors!

・gulpfile.js

//gulpfile.js
var gulp = require('gulp');              //gulpをインポート
var postcssimport = require('postcss-import');
var postcss = require('gulp-postcss');   //gulp-postcssをインポート
var cssnext = require('postcss-cssnext'); //cssnextをインポート
var nested = require('postcss-nested');
var reporter = require('postcss-reporter'); //stylelintだけだとレポートが出力されない為
var csswring = require('csswring');
var calc = require('postcss-calc');
var customProperties = require("postcss-custom-properties");
var customMedia = require("postcss-custom-media"); //うまくいっていない。カスタムメディアクエリーズが使える
var plumber = require('gulp-plumber');//うまくいっていない。gulpのwatchが止まらないようにする

gulp.task('css', function () {           //”css”タスクを登録
  var plugins = [  
  postcssimport,
  cssnext,                      //一旦空の配列を作成
  nested,
  reporter,
  calc,
  csswring,
  customProperties,
  customMedia,
  plumber
  ];
  return gulp.src(
    ['./src-before/*' , './src-before/*/*'],
    { base: 'src-before' })         //src-before下にある.cssファイルを指定
    .pipe(postcss(plugins))              //PostCSSにファイルを処理してもらう
    .pipe(gulp.dest('./dest-after/css'));          //生成されたCSSをdest-after下に配置
});

//以下gulp-watch
gulp.task('watch', function(){
  gulp.watch(['./src-before/*' , './src-before/*/*' , './src-before/*/*/*'], ['css']);//監視したいファイルの相対パス
});

・gulpは難しくて、英語の公式サイトを見てもよくわかりません。

varと
var pluginsの中とこの二つを記載するだけで動くものが多いですが、
そうでないものは一体どうやったら使えるのでしょうか?

日本語の情報がありません 

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

pluginsがArrayになっていないようです。
pluginsの定義の後で、 !Array.isArray(plugins)の値がどうなってるかをログを取って見てみてください。

https://github.com/postcss/gulp-postcss/blob/master/index.js#L10

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/13 19:17

    了解しました、下記のように出ました。

    >>>
    (node:8964) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
    [19:16:04] Using gulpfile ~\Desktop\images\gulp-folder\postcss\gulpfile.js
    [19:16:04] Starting 'css'...
    true

    src-before/app.css
    15:1 ‼ Failed to find 'layout/__drawer-menu'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ] [postcss-import]
    25:1 ‼ Failed to find 'object/component/_gnavi'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ] [postcss-import]
    27:1 ‼ C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\object\component\_card.css:31:2: Unknown word [postcss-import]
    34:1 ‼ Failed to find 'object/component/_logo'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ] [postcss-import]
    35:1 ‼ Failed to find 'object/component/_catch'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ] [postcss-import]
    36:1 ‼ Failed to find 'object/component/_news'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ] [postcss-import]

    src-before/object/utility/_utility-style.css
    157:2 ‼ You should write display: flex by final spec instead of display: box [autoprefixer]

    [19:16:05] gulp-postcss: app.css
    postcss-import: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\app.css:27:1: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\object\component\_card.css:31:2: Unknown word
    postcss-import: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\app.css:15:1: Failed to find 'layout/__drawer-menu'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ]
    postcss-import: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\app.css:34:1: Failed to find 'object/component/_logo'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ]
    postcss-import: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\app.css:25:1: Failed to find 'object/component/_gnavi'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ]
    postcss-import: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\app.css:35:1: Failed to find 'object/component/_catch'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ]
    postcss-import: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\app.css:36:1: Failed to find 'object/component/_news'
    in [
    C:\Users\user\Desktop\images\gulp-folder\postcss\src-before
    ]
    autoprefixer: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\object\utility\_utility-style.css:157:2: You should write display: flex by final spec instead of display: box

    src-before/style.css
    15:1 ‼ variable '--color-primary' is undefined and used without a fallback [postcss-custom-properties]

    [19:16:05] gulp-postcss: style.css
    postcss-custom-properties: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\style.css:15:1: variable '--color-primary' is undefined and used without a fallback
    postcss-custom-properties: C:\Users\user\Desktop\images\gulp-folder\postcss\src-before\style.css:15:1: variable '--color-primary' is undefined and used without a fallback
    [19:16:06] Finished 'css' after 2.35 s

    キャンセル

  • 2016/07/13 20:06

    うーん、pluginsはArrayになっていますが、そもそもいろいろとエラーが出ているんですね。。。

    ※ 上からざっと見ていくと、まずpostcss-importでモジュールが見つからないエラーが出ているようです。

    この辺のバグを一つ一つ直していくしか無いと思います。。

    キャンセル

  • 2016/07/14 10:48

    確かに、まだ作っていないファイルがあるので、そのように出ますがそれが原因ということはあり得るのですか?
    ミニファイなどは問題なくできています。
    それが原因ならすべてできないというものではないのですか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る