過去 2 週間、私は Meteor プロジェクトを構築してきました。Meteor を使用して苦労したことのある人から、ロード順序について考えてもらいたいと思います。
次のテンプレートを使用します。
http://bootstrapaste.com/free-one-page-bootstrap-template-amoeba/
すべての重要な JavaScript ファイルは、index.html の下部で参照されます。これを Meteor プロジェクトに移植しようとすると、すべての効果とアニメーション、特にmain.js
単純に script タグを一番下に置いておくと、大量の JavaScript および jQuery アニメーションが機能しないことを意味します。これは、Meteor では、DOM が完全にロードされる前に JS ファイルがロードされる可能性があるためです。そして、これは多くのものを壊します。
Meteor では、main.* という名前のファイルはすべて、他のすべてのファイルの後にロードされます。
これは、main.* が他のすべての後にロードを開始することのみを意味しているように見えることに注意してください。ファイルのロードがいつ終了するかについては何も言いません。のスクリプトはmain.js
まだ機能しません。
すべてのスクリプト タグを独自のものにして、main.html
それをindex.html
テンプレートとして添付すると、アニメーションはまだ機能しません。
私はもう試した
Template.layout.created = function() { $('head').append(''); }
これもうまくいきません。
- Meteor.startup( func ) の使用は信じられないほど信頼性が低く、「クライアントでは、DOM の準備が整うとすぐに関数が実行される」にもかかわらず、Meteor の「DOM 準備完了」の定義は「DOM 内のすべてがロードされた後」と等しくないためです。 " そのため、DOM が完全にロードされていない後でも関数を実行できます。
とにかく、Meteor でこのような大きな問題を抱えている人は他にいますか? また、ベスト プラクティスや回避策はありますか?