Nuxt.jsでSassを使用した際に「TypeError: this.getOptions is not a function」とエラーが出る

以前投稿したNuxt.jsでSassを使用するの記事でも少し触れましたが、Nuxt.jsでSassを使用した際に「TypeError: this.getOptions is not a function」とエラーが出る状態に遭遇したので、対応方法をメモしておきます。

対応前

Nuxt.jsのプロジェクトを用意した後、Sassで使用するパッケージをインストールします。

npm install --save-dev node-sass sass-loader

この時点でnode-sassとsass-loaderのバージョンはそれぞれ以下になっています。

"node-sass": "^6.0.1",
"sass-loader": "^12.1.0"

通常だとこれで使用できるようになるのですが、Sassを記述して試してみると「TypeError: this.getOptions is not a function」というエラーが表示されました。

対応方法

調べてみると、sass-loaderのv11.0.0以降はwebpackのバージョン5以上しか対応していないようです。
webpackのバージョンを確認してみると、4.46.0でした。

npm list webpack

そのため、sass-loaderのバージョンを10に指定することでいったんは解消できるようです。
node-sassとsass-loaderをインストールし直します。

npm install --save-dev node-sass sass-loader@10

これで再度Sassの記述を試してみると、エラーは出なくなりました。

最終的なnode-sassとsass-loaderのバージョンはそれぞれ以下のようになりました。

"node-sass": "^6.0.1",
"sass-loader": "^10.2.0"

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930