私はreactjsをインストールし、package.jsonでこのようにreact-domを実行しました
"dependencies": {
"bootstrap": "^v4.1.1",
"popper.js": "^1.14.3",
"react": "^v16.4.1",
"react-dom": "^16.4.1"
}
反応フォルダと反応DOMフォルダを正しくダウンロードしました。
両方のフォルダーにはcjsフォルダーとumdフォルダーがあり、多数のjsファイルがあります。
私にとっては、2つのフォルダー内のファイルの違いを見つけることができません。
このような:
URL: node_modules/react/umd
react-development.js
react-production.min.js
URL : node_modules/react/cjs
react-development.js
react-production.min.js
react-domとほぼ同じです。また、cjsとumdフォルダーがあり、reactアプリケーションまたはWebサイトの開発にどのフォルダーのどのファイルを使用すればよいかわかりません。
JavaScriptはもともとインタラクティブなブラウザ専用でした。ノードでは、ブラウザ以外のコンテキストで使用されます。これと他の要因のため、モジュールには互換性のない形式があります:
“ CommonJS ”仕様は、モジュールからエクスポートされる名前を宣言および検出するためのAPIであるexports
オブジェクトの使用について説明しています。 CommonJSモジュールを対話型ブラウザーにロードすることはできません。 NodeJSは、CommonJS形式の最も一般的な実装です。
「 非同期モジュール定義 」(AMD)は、インタラクティブなブラウザに読み込まれることを前提にJavaScriptモジュールをバンドルする方法を説明しています。 RequireJSは、最も人気のあるモジュールサポートライブラリの1つであり、AMDモジュールを使用します。
AMDとCommonJSは両方とも非常に人気があり、相互に理解できないため、「 niversal Module Definition 」(UMD)は、両方で消費できるモジュールを作成しようとするパターンですが、より複雑なフォーマットの。
最近では、モジュールをサポートするために ECMAScript 2015はexport
およびimport
構文を定義しています (上記とは異なります)。
あなたはどちらを使うべきですか?ビルドシステムの何がそれらのモジュールを消費するかに基づいて、それに答える必要があります。
今日、最もありそうな答えは:UMDモジュールを使用する。 ECMAScriptモジュールを使用する。しかし、それらがどのように配布されるかについては、まだ合意していません(2019)。