5

私は1つのjsファイルを持っていました:

function library_f() {
}

function some_f() {
  library_f();
}

function another_f() {
  library_f();
}

しかし、コードが醜いので、js ファイルを 3 つのファイルに分割することにしました。

one.js:

function library_f() {
}

two.js:

function some_f() {
  library_f();
}

three.js:

function another_f() {
  library_f();
}

しかし、今私はエラーが発生します

library_f() is not defined

js ファイルを含める順序を設定するにはどうすればよいですか?

4

2 に答える 2

3

Meteor はすべての JS ファイルをすくい上げて 1 つのファイルにまとめます。順序はあまり制御できません。

ここでの問題は、関数をどこから呼び出しているかということだと思います。彼らがすぐに自己実行している場合、順序が重要である可能性があることは間違いありません. ただし、Meteor は通常、関数を DOM にロードし、 や などのイベントに応答して実行しMeteor.startup(callback)ますTemplate.page.rendered(callback)。これらの例の実行時には、すべての JS ファイルがロードされており、関数はすべて好きな順序で実行できる状態になっているはずです。

作成後すぐに実行するのではなく、後で実行しようとしている場合は、ブラウザー コンソールで、ページの読み込み後にすべての関数が DOM に存在することを確認することをお勧めします。入力してlibrary_f、何が返されるかを確認します。

于 2013-04-23T17:19:41.700 に答える