1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Nuxt(Vue)を使用していたらsass-loaderが原因でエラーになったのでまとめてみた

Last updated at Posted at 2021-12-16

#前提
エンジニア目指して勉強中の身です。Nuxt.jsを用いたポートフォリオ作成中、突然エラーになり苦戦したので、同じ境遇の方へ向けて記事としてまとめます。マサカリを投げていただきましたら、フォローいたします。

#開発環境
node: 16.13.1
npm: 8.1.2

#エラー

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
    at Object.loader (/Users/user_neme/Template/nuxtjs-boilerplate/node_modules/sass-loader/dist/index.js:25:24)

#原因
■1
まず、NuxtでSassを使うには

・node-sass
・sass-loader

2種類のパッケージが必要とのこと。

■2
sass-loaderの11.0.1を使うなら
node-sassの5.0.0以上を使わなければならない。
https://www.npmjs.com/package/node-sass

■3
サポートされているwebpackの最小バージョンが"5"であることが必須。
(詳細は参考より)

#解決
バージョンを合わせる。

npm install node-sass@5.0.0
npm install sass-loader@11.0.1

node-sassのみ変更の場合(5.0.0以上)

npm install node-sass@5.0.0

sass-loaderのみ変更の場合(10.1.1へダウングレード)

npm install sass-loader@10.1.1

###参考
https://note.com/aliz/n/n70a7a5f802df
https://mykii.blog/nuxt-update-sass-loader/
https://ma-vericks.com/nuxt-scss/

#まとめ
パッケージなど、とりあえず最新版にしてみたり、推奨なので問題ないでしょ、という考えは変えなくてはいけないと思いました。バージョンによる互換性など、調べてからアップグレードしていきたいと思います。

###余談
まとめてみるとシンプルだとわかるのですが、記事通りに実行しても(していない)エラーになったり、前提がわからなかったりと時間だけが過ぎていくことも少なくないです。改めて、闇雲に探すのだけは避けたい所存です。

先輩方が仰るよう、公式リファレンスから一次情報を得られることがベストだと思います。
https://nuxtjs.org/ja/releases/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?