🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1988閲覧

PostCSSのプラグイン追加でエラー発生

Fujiman

総合スコア41

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/02/06 03:45

コードの質問でなくすみませんが教えて下さい
以下のような環境でPostCSSのプラグインを利用しようとしています。
'autoprefixer'だけを利用している場合、問題なく動作するのですが
これに'css-declaration-sorter'を追加するとエラーが発生してしまいます

package.json

JSON

1{ 2 "scripts": { 3 "build": "webpack", 4 "watch": "webpack --watch" 5 }, 6 "devDependencies": { 7 "autoprefixer": "^9.7.4", 8 "css-declaration-sorter": "6.0.2", 9 "css-loader": "^3.4.2", 10 "postcss": "8.2.4", 11 "postcss-loader": "^3.0.0", 12 "sass": "^1.25.0", 13 "sass-loader": "^8.0.2", 14 "style-loader": "^1.1.3", 15 "webpack": "^4.41.6", 16 "webpack-cli": "^3.3.11" 17 }, 18 "private": true, 19 "dependencies": {} 20} 21

webpack.config.js

JSON

1module.exports = { 2 mode: 'production', 3 devtool: 'source-map', 4 module: { 5 rules: [ 6 { 7 test: /.scss/, 8 use: [ 9 'style-loader', 10 { 11 loader: 'css-loader', 12 options: { 13 url: false, 14 sourceMap: true, 15 importLoaders: 2 16 }, 17 }, 18 { 19 loader: 'postcss-loader', 20 options: { 21 sourceMap: true, 22 plugins: [ 23 require('autoprefixer')({grid: true}), 24 require('css-declaration-sorter')({ 25 order: 'alphabetical' 26 }), 27 ] 28 }, 29 }, 30 { 31 loader: 'sass-loader', 32 options: { 33 sourceMap: true, 34 } 35 } 36 ], 37 }, 38 ], 39 } 40}; 41

エラーメッセージ

Error

1Error: PostCSS plugin css-declaration-sorter requires PostCSS 8.

”Migration guide”

PlainText

1Migration guide for end-users: 2https://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users 3 at Processor.normalize ([Path]/sass-postcss/node_modules/postcss-loader/node_modules/postcss/lib/processor.js:167:15) 4 at new Processor ([Path]/sass-postcss/node_modules/postcss-loader/node_modules/postcss/lib/processor.js:56:25) 5 at postcss ([Path]/sass-postcss/node_modules/postcss-loader/node_modules/postcss/lib/postcss.js:55:10) 6 at [Path]/sass-postcss/node_modules/postcss-loader/src/index.js:140:12

すでに "postcss": "8.2.4"とインストールできていますし、これはどういう対処をすべきでしょうか?

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

環境や設定等を丁寧に載せておられたので、自分も試してみました。
以下のようにしたら動きましたので、参考までに載せておきます。
まずエラーメッセージに記載されているサイトどおりで、postcss-loaderも古いと思われます。
postcss-loaderの最新は5が出ているようですが、以下の書き方では4系でしか動かないようです。(別のエラーが出ます。何か方法があるのでしょう。)
また上げた時にpostcss-loaderのopttionの記述も変えなくてはならないようです。(以下のpostcssOptionsと書いてあるあたりです。)

  • package.json
{ "main": "index.js", "private": true, "scripts": { "build": "webpack", "watch": "webpack --watch" }, "devDependencies": { "autoprefixer": "^9.7.4", "css-declaration-sorter": "6.0.2", "css-loader": "^3.4.2", "postcss": "8.2.4", "postcss-loader": "^4.0.3", "sass": "^1.25.0", "sass-loader": "^8.0.2", "style-loader": "^1.1.3", "webpack": "^4.41.6", "webpack-cli": "^3.3.11" }, "dependencies": {} }
  • webpack.config.json
module.exports = { mode: 'production', devtool: 'source-map', module: { rules: [ { test: /.scss/, use: [ 'style-loader', { loader: 'css-loader', options: { url: false, sourceMap: true, importLoaders: 2 }, }, { loader: 'postcss-loader', options: { sourceMap: true, postcssOptions: { plugins: [ require('autoprefixer')({ grid: true }), require('css-declaration-sorter')({ order: 'alphabetical' }), ] }, }, }, { loader: 'sass-loader', options: { sourceMap: true, } } ], }, ], } };

投稿2021/02/06 05:30

tomomo

総合スコア430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fujiman

2021/02/06 13:09

ありがとうございます。'postcss-loader'のプラグインの書式とpostcss-loaderのバージョンアップでちゃんとできるようになりました。助かりました。こういったパッケージのバージョンによる差異の調査能力が足りてないので(自己解決能力が低い)すぐに迷子になってしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問