ホームページ >ウェブフロントエンド >フロントエンドQ&A >React での require が失敗した場合の対処方法

React での require が失敗した場合の対処方法

藏色散人
藏色散人オリジナル
2023-01-03 10:38:371953ブラウズ

react の require は、require が文字列ではなく ES モジュールを返すため失敗します。解決策は、「require('../path/to/image.jpg').default;」を通じてこれを導入することです。それ。

React での require が失敗した場合の対処方法

このチュートリアルの動作環境: Windows 10 システム、react18.0.0 バージョン、Dell G3 コンピューター。

react での require が失敗した場合はどうすればよいですか?

react プロジェクトの require によって導入された無効な画像の理由と解決策

原因

create-react-app を使用する場合Image をインポートする場合、require は文字列の代わりに ES モジュールを返します。これは、ファイルローダーでは esModule オプションがデフォルトで有効になっているためです。

解決策

const image = require('../path/to/image.jpg').default;
// OR
import image from '../path/to/image.jpg';

requireとimportの違い

requireはnodeに実装されているAPIであるcommonjsの仕様です。 ; import は es の構文であり、コンパイラによって処理されます。したがって、import はモジュールの依存関係の静的分析を行うことができ、webpack、rollup などを使用してツリーシェイクを行うことができます。

commonjs によってエクスポートされた値はコピーされます。require はコピーされた値を導入します (参照型は参照のみをコピーします)。es モジュールによってエクスポートされる値は、基本型に関係なく同じです (エクスポートのデフォルトを除く)。またはアプリケーションの種類。

記述方法に違いがあります。インポートの場合、 import * を使用してすべてのエクスポートを導入することも、 import aaa, {bbb} を使用してデフォルトとデフォルト以外のエクスポートをそれぞれ導入することもでき、どちらの方がより柔軟です。必要以上に。

推奨される学習: 「react ビデオ チュートリアル

以上がReact での require が失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。