問題タブ [umd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - AMD モジュールはインライン スクリプト タグの間にロードできますか?
質問とは関係のない理由で、私の同僚はUniversal Module Definitionパターンを使用するスクリプトをロードする必要があります。私たちの環境には通常、AMD ツールがロードされていますが、もっと無関係な理由で、私の同僚は、AMD を介してモジュールを登録するのではなく、グローバルを定義するスクリプトを必要としています。彼らのブランチで現在チェックインされているアプローチは、次のようなものです。
私の質問は次のとおりです。これは恐ろしい考えですか? ブラウザーが script タグからスクリプトをロードする方法に保証はありますか?これにより、define の定義解除と定義の復元の間に、UMD ベースのスクリプトのロード以外は何も行われないことが保証されますか? 主にAMDモジュールに基づいた、非常に大きく、非常に重度の非同期アセットロードがあるため、私が懸念しているのは、defineが現在定義されていない断続的な状態で自身を定義しようとしているAMDモジュールです。
javascript - Webpack umd ライブラリが Object.default を返す
これらの設定でwebpackを使用してlibを作成しています:
マイライブラリ:
問題は、build/my_lib.js をブラウザーにロードしようとすると、MyLib にアクセスする唯一の方法は MyLib.default を使用することです...
何か案が?
javascript - JavaScript ライブラリを構築しているのに、なぜ IIFE をこのように使用するのでしょうか?
多くのライブラリがこのスタイルを使用してライブラリを定義していることに気付きました。また、最初の自己呼び出し関数が Require.js または AMD システムと関係があることにも気付きました。これらは常に引数として factory を持っています。Require.js をさらに調べ、常に Browserify を調べます。
括弧内の最初の自己呼び出し関数の最後にメイン コードが渡されるのはなぜですか。これはクロージャーなのか、それとも単に無名関数と見なされるのか、両方について詳しく説明します。これにはどのような利点がありますか?string
クロージャー内で作者が a 、this
、および aを渡しているように見えますcallback
。
これにより、以下の例のメイン オブジェクトをグローバル化するクリーンで安全な方法がライブラリに提供されますPlease
か?
私は JavaScript を深く掘り下げて、独自の小さな MVC アーキテクチャを作成しようとしています。自分が愚かだとか、以前にやったことがあるとは聞きたくありません。自分自身に挑戦して学びたいと思っています。
JavaScript ライブラリまたはさらに優れた MVC ライブラリを作成するための優れたリソースがあれば、ぜひ知りたいです。
javascript - グローバル変数 Typescript 1.8 としてのデフォルトのエクスポート --module UMD
単一のファイルをエクスポートする NPM モジュールを作成しています。--module
フラグを に設定しましたumd
。このファイルのデフォルトのエクスポートをグローバル変数として公開したいと考えています。
Typescript 1.8 で UMD モジュールをグローバル変数としてエクスポートすることは可能ですか?