モジュールのビルドに失敗しました: TypeError: this.getOptions は関数エラーの解決策ではありません

自分で vue をビルドしたところ、「Module build failed: TypeError: this.getOptions is not a function.」というエラーが発生しました。オンライン検索の結果によると、その理由は、node-sass のバージョンが sass のバージョンと一致していないためであるはずです。 -ローダ。解決プロセスを記録します。

1. まずエラーメッセージを見てください。

2. インストールしたノードのバージョンを確認します。

ctrl+R、cmdと入力してターミナルを開き、次のコマンドを入力します

node -v

私自身のノードのバージョンは 14.17.4 なので、インストールされているノードのバージョンに応じて、対応するノード Sass バージョンをインストールする必要があります。

3.nodeとnode-sassの対応バージョン

公式 Web サイトには、バージョンに対応する表が用意されています: https://www.npmjs.com/package/node-sass
公式 Web サイトをクリックするのが面倒な場合は、以下の表を直接見ることができます。

NodeJsのバージョン サポートされているノード Sass バージョン
ノード17 7.0+
ノード16 6.0以上
ノード15 5.0+、<7.0
ノード14 4.14+
ノード13 4.13+、<5.0
ノード12 4.12+
ノード11 4.10+、<5.0
ノード10 4.9+、<6.0
ノード8 4.5.3+、<5.0
ノード<8 <5.0

node14 に対応するバージョンはバージョン番号 4.14+ であることが確認できるため、次のコマンドを直接実行します。

npm i [email protected] --save
4. 対応する sass-loader のバージョン番号

インストール後もエラーが解決しないので、対応するバージョンの sass-loader もインストールする必要がありますが、ネットで調べて整理しました。

ノードサスのバージョン Sassローダーのバージョン
4.3.0 4.1.1
4.7.2 7.0.3
4.7.2 7.3.1
4.14.1 7.3.1
6.0.1 10.0.1

私は自分で node-sass の 4.14 バージョンをインストールしたので、対応する 7.3.1 バージョンの sass-loader をインストールし、次の手順を実行してインストールしました。

npm i [email protected] --save
5. まとめ

まとめると、nodeのバージョンに合わせたnode-sassとsass-loaderをインストールする必要があり、最新バージョンを使用している場合は、次の手順を実行するだけです。

npm insatall node-sass sass-loader --save
或
npm insatall node-sass sass-loader --save-dev

ここでの –save-dev と –save の違いは、devDependency または package.json にダウンロードされる依存関係のみです。この 2 つの違いは、前者はローカル環境で使用される依存関係であり、後者はローカル環境で必要な依存関係であることです。開発環境。ローカルで開発する場合は、-save-dev だけを実行します。

不正確な点がある場合は、批判して修正してください~
—————————————
著作権に関する声明: この記事は CSDN ブロガー「YOGiii」によるオリジナルの記事であり、CC 4.0 BY-SA の著作権に従います。に同意し、転載する場合は、元のソースリンクとこの声明を添付してください。
元のリンク: https://blog.csdn.net/August_802/article/details/124985920

おすすめ

転載: blog.csdn.net/weixin_42504805/article/details/132884793