2

私の目標は、既存の JavaScript アプリケーションでノード モジュールを使用する方法を理解することです。

私の既存のアプリケーションは jQuery と ReactJS ベースです。

プロジェクトで使用を開始したいいくつかのノード モジュールに遭遇しました。これらはモジュールとしてのみ使用できるようです (そのため、scriptタグを追加するだけでは使用できません)。

以前は、ライブラリをインストールして、タグbowerを使用してローカルで使用していました。script

Browserify多数の Node モジュールを単一の JavaScript ファイルに使用またはWebpackバンドルできることは理解していますが、その中にあるモジュールを既存のアプリに公開するにはどうすればよいですか?

できるようになりたいのは

<script src="jquery.min.js"/>
<script src="bundle.js"/>
<script src="myapp.js"/>

wheremyapp.jsはグローバル変数を使用して、module_xどちらが npm モジュールであったかを指定できます。

私が予見する問題の 1 つは、bundle.jsjquery が既に含まれている可能性があるということです。「プロジェクト全体をモジュールに変換する」と言う人もいるかもしれませんが、それはうまくいくでしょう! しかし、すべての利点にもかかわらず、それを行わずに実行できるかどうか疑問に思っています;-)

4

1 に答える 1

3

より良い方法ではありませんが、browserify でグローバルを使用できます。require()このようにして、必要な任意のスコープで取得したライブラリにアクセスできます。使用するだけです:

global.lib = require('somelib');

次に、browserifyを介してソースファイルをブラウザ化するだけです。方法がわからない場合は、ドキュメントを読んでください。とても使いやすいです。

後は、lib必要な場所からアクセスするだけです。

また、jQuery をバンドルの前にグローバルとして定義済みの場合は、ブラウザ化されたファイルにアクセスできます。メインの browserify ファイル内で、次のようにします。

var someVar = require('./somefile.js');
var allDivs = $("div"); // $ was a global before this file runs
于 2014-11-28T14:16:49.580 に答える