[解決済み] INTEROPRequireDefaultとは何ですか?
質問
の説明を見たことがあります。 このサイト ということです。
<ブロッククオート_interopRequireDefault()。ES6 CommonJS モジュールは、そのまま使用されます (デフォルトのエクスポートがある場合は、default という名前のプロパティがあります)。通常の CommonJSモジュールは、プロパティdefaultの値となる。つまり つまり、後者の場合、モジュールのエクスポートがデフォルトの をエクスポートします。
コードでは、しばしば複数の
_interopRequireDefault
で書かれている。
つまり、デフォルトのエクスポートでは、ファイル全体のキー/バリューの束が総体としてエクスポートされるので、よく理解すれば、そのようなことはありません。
_interopRequireDefault
は、特定のコードのデフォルトエクスポートに入るモジュールを選択することができます。
解決方法は?
Node.jsとES6用に書かれたモジュールを、あなたのコードで消費できるようにする。
ES6とCJS(Common JS specification)では、モジュールのエクスポートの仕方に違いがあります。
Common JS におけるモジュール :
module.exports = function () {};
ES6におけるモジュール :
export default function () {}
_interopRequireDefault は、かなり単純なロジックです。
function _interopRequireDefault(module) {
const
isCJSModule = module && module.__esModule,
cjsStyedModule = { default: module };
return isCJSModule ? module: cjsStyedModule;
}
CJSはES6以前から存在していた。Node.jsは今でもCJSバージョンを使用しており、Node.jsのために元々書かれたすべてのモジュールを使用しています。
現在、Node.jsは実験的にES6モジュールをサポートしていますが、もしあなたが
--実験的
フラグを立て、モジュールファイルの名前を
.mjs
.
注:2020年現在、Node.jsは以下の機能もサポートしています。
.js
というフィールドを追加すれば、ES6モジュールで
"type": "module"
で
package.json
. 詳しくはこちら:
https://medium.com/@nodejs/announcing-core-node-js-support-for-ecmascript-modules-c5d6dc29b663
関連
-
[解決済み】 \u003C とは何ですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] JavaScriptの「new」キーワードとは何ですか?
-
[解決済み] Jestを使用してES6モジュールのインポートをモックするにはどうすればよいですか?
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?