次のコードをbundle.jsにブラウズして、フロントエンドに(他の.jsファイルをロードする前に)インクルードします。私はbrowserifyファイルは、単にこの本です:Browserifyが動作しません - なぜですか?
var firebase = require('firebase')
私は、フロントエンドに含まれている次のファイルで、この変数に)(認可を呼び出すが、私はfirebaseが定義されていないというエラーを取得しますか?
次のコードをbundle.jsにブラウズして、フロントエンドに(他の.jsファイルをロードする前に)インクルードします。私はbrowserifyファイルは、単にこの本です:Browserifyが動作しません - なぜですか?
var firebase = require('firebase')
私は、フロントエンドに含まれている次のファイルで、この変数に)(認可を呼び出すが、私はfirebaseが定義されていないというエラーを取得しますか?
Browserifyは、ブラウザにCommonJS(ノード)モジュールを使用できるようにするモジュールバンドラです。これは、プロジェクトがCommonJSの表記規則(exports
,)と輸入(require
)モジュールに従わなければならないことを意味します。
あなたのモジュール(module.js)
var foo = function() {
console.log('Foo');
};
var bar = function() {
console.log('Bar');
};
module.exports = {
foo: foo,
bar: bar
};
あなたのエントリーポイント(main.js)
var module = require('./module');
module.foo(); // Foo
module.bar(); // Bar
このコードは以下となります。ここでは基本的な例でありますNodeを使ってすぐに動作しますが、ブラウザはそれを解釈できません。これは、Browserifyが便利な場所です。
エントリポイントでコマンドbrowserify main.js -o bundle.js
を実行すると、Browserifyはすべての依存関係(ここではmodule.js
)をトラバースし、バンドルにロードします。このバンドルはブラウザで使用できるので、スクリプトタグにロードすることができます:
<script src="bundle.js"></script>
正直言ってもまだ不明です。エラーが発生するのはなぜですか?私はすべてを正しくした、私はしませんでしたか? – huzal12
あなたの依存関係が間違って管理されていると思います。あなたの質問では、他の.jsファイルをロードする前に 'bundle.js'を含めると言います。しかし、あなたがBrowserifyを使用する場合は、モジュールの周りにあなたのプロジェクトを整理し、独立したJSスクリプトファイルを避けることになっています... – Badacadabra
さらに、 "私はこの変数にauthorize()を呼び出します。フロントエンド "として、単純なJSスクリプトファイルから変数にアクセスしようとしていると思われます。これは、Browserifyバンドルが独自のスコープを持つ大きなモジュールに似ているため動作しません。それは厳密に関数にカプセル化されています。 – Badacadabra
これまでにBrowserifyを使用したことはありますか? :) – Badacadabra
いいえ私はちょうど何かの仕事をしようとしています – huzal12
いくつかの説明をしたいですか? – Badacadabra