2015-02-24 99 views
0

我正在通過meteor開發fabric.js應用程序。我已經包含在項目文件http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js,我嘗試如下定義一個簡單的帆布,來自Tracker afterFlush函數的例外:fabric.Canvas不是構造函數

Template.formatter.rendered = function() { 

    var canvas = new fabric.Canvas('fabriccanvas'); //<-- error Line 
    canvas.add(new fabric.Circle({ radius: 30, fill: '#f55', top: 100, left: 100 })); 

    canvas.selectionColor = 'rgba(0,255,0,0.3)'; 
    canvas.selectionBorderColor = 'red'; 
    canvas.selectionLineWidth = 5; 


} 

但我得到的錯誤Exception from Tracker afterFlush function: fabric.Canvas is not a constructor。我很新的這些環境,並且非常感謝所有幫助,從您的專家來解決這個:)謝謝

回答

1

請確保您有腳本到/client/compatibility

此文件夾的兼容性的JavaScript庫,依靠 變量聲明與頂級var被導出爲 全局變量。這個目錄中的文件被執行時沒有被包裹在 一個新的變量作用域中。這些文件在其他 客戶端JavaScript文件之前執行。

doc meteor structuringyourapp

+0

你好,謝謝你的回覆。我嘗試了你的兩個建議。它不是一個錯字,因爲這個解決方案在jsfiddle中工作正常。並刪除'新'關鍵字後,我得到錯誤'異常來自追蹤器後沖刷函數:fabric.Canvas不是一個函數' – 2015-02-24 06:45:11

+0

你把腳本放在哪裏?在/ lib文件夾? – Ethaan 2015-02-24 06:48:18

+0

或把它們放到這個文件夾'客戶端/兼容性' – Ethaan 2015-02-24 06:49:24