2016-07-26 18 views
0

私はcreatJSに問題があります。CreateJSにエラーが発生しました: "createjsが定義されていません"

var stage = new createjs.Stage(canvas); 

私はこのエラーを得た:

angular.js:13642 ReferenceError: createjs is not defined. even thought i get the EaselJS in my bower-components.

おかげ

+0

あなたは私たちに完全なコードを提供することができますしてください? – Mistalis

+0

これはコントローラ内のコードです。var stage = new createjs.Stage(canvas); var image = new createjs.Bitmap( "app/common/views/weather/img/windrose.png"); stage.addChild(image); stage.update(); – Mahmoud

+0

コンソールに何かエラーがありますか?通常これは誤って読み込まれたスクリプトタグなどによって引き起こされます。 – Lanny

答えて

0

私も同様の問題がありました。私の場合は、webpack用のcreatejs-module npmパッケージを追加しました(私はLaravel wabpack mixで使用しています)。スコープに問題があると思われたので、createjsがグローバルであることを確認しなければなりませんでした。だから、次の操作を実行しようとすることができます:

  1. (コンソールで)NPMモジュールを取り付け

    npm install createjs-module --save 
    
  2. (あなたのjsファイルで)createjsを初期化

    this.createjs = {}; 
    
  3. createjsをグローバルにする(あなたのjsファイルに)

    window.createjs = this.createjs; 
    
  4. インポートモジュール(あなたのjsファイル内)

    require('createjs-module'); 
    

そして今、あなたはいつものようにそれを使用することができます:)

参考:CreateJS GitHub Issues

1

私はcreatejsがウィンドウオブジェクトで定義されていると仮定します。あなたはまた、$ウィンドウを使用して、それを参照することができ

controller: function(createjs) { 
    var stage = new createjs.Stage(canvas); 
} 

angular.module('myApp', []) 
    .constant('createjs', window.createjs) 

次にあなたがたとえば、あなたのコントローラに注入することができます:あなたはそれがこのようinjectabledようにする必要があり、角度のjsでアクセスできるようにするには:

controller: function($window) { 
    var stage = new $window.createjs.Stage(canvas); 
} 
+0

ありがとう、問題はeaseljs私はcreatjsのために使用するライブラリは、bower.jsonファイルに注入されていない...だから私は、Bowerファイルにライブラリを注入し、それは動作します..ありがとう – Mahmoud

0

私はそれにいくつかのテストを取得し、createjsのために使用されているライブラリEaselJSが注入されているが、それはBower.jsonファイル内に注入されていなかった場合、私は確認してください。だから私は手動でbower.jsonファイルに注入しなければならなかったし、それは動いている。

関連する問題