1. ホーム
  2. javascript

[解決済み] Backbone.js: `extend` は未定義ですか?

2023-01-01 05:11:28

質問

Backbone.jsを使い始めたところです。Backbone(dev版、production版どちらでも)をインクルードするだけでエラーになります。

Uncaught TypeError: Cannot call method 'extend' of undefined というエラーが128行目に表示されます。

// Attach all inheritable methods to the Model prototype
_.extend(Backbone.Model.prototype, Backbone.Events, 

どのように解決するのですか?

問題は underscore.js . 私はdocsでその依存性を完全に見逃していました。Duh。

tjorriemorrieからさらなる説明がありました。 私はアンダースコアを持っていましたが、間違った順序でロードし、最初にアンダースコアをロードしました (これが「依存関係」の意味だと思います :)。


これが明白でない場合に備えて、さらに明確にしておきます。 JavaScript で読み込まれる順序は、ページ上に表示される順序と関連しています。 underscoreを最初に読み込むには、それを含むscriptタグがbackboneを読み込むタグの前にあることを確認してください。 このように

<script src="underscore-1.4.4-min.js"></script>
<script src="backbone-1.0.0-min.js"></script>