2013-07-07 2 views
5

У меня возникли проблемы с использованием библиотеки fabric.js с приложением Meteor, и, к сожалению, я не могу полностью пройти стадию добавления его в свое приложение, а тем более вызывая его. Самый простой отдых выглядит следующим образом:Невозможно загрузить javascript-библиотеку в приложение Meteor

> mrt create test 
> cd test 
> mkdir client 
> curl -o ./client/all.js http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.2.0/fabric.all.min.js 
> mrt 

Переход на локальный: 3000 показывает следующий вывод на консоль:

Uncaught TypeError: Cannot read property 'object' of undefined all.js:4074 
global.fabric.global.fabric          all.js:4074 
(anonymous function)            all.js:4936 
(anonymous function) 

И линия 4074 из all.js является второй линии здесь:

var fabric = global.fabric || (global.fabric = { }), 
    extend = fabric.util.object.extend, 
    capitalize = fabric.util.string.capitalize, 
    clone = fabric.util.object.clone, 
    toFixed = fabric.util.toFixed, 
    multiplyTransformMatrices = fabric.util.multiplyTransformMatrices; 

Я вполне уверен, что я делаю что-то неправильно (в отличие от проблемы с тканью или метеоритом), но я не знаю, где. Я также попытался помещать файл all.js в мой общий каталог и, хотя это не бросает тот же TypeError, он делает это так, чтобы переменная ткани казалась недоступной в любом месте моего кода.

Любая помощь по правильной загрузке fabric.js в мое приложение будет отличной.

ответ

9

Не могли бы вы попытаться поместить файл библиотеки в подкаталог клиент/совместимость. Любые файлы javascript, импортированные в Meteor, завершаются закрытием, в котором вы не можете легко получить доступ к глобальной области. клиент/совместимость - это место, где в библиотеку не будет применено закрытие.

http://docs.meteor.com/#structuringyourapp Здесь вы можете найти более подробную информацию об импорте библиотеки.

+0

Именно это. Думаю, я должен был прочитать третий абзац. – IanWhalen

+0

@Seanxioaxiao как обернуть в закрытие? –

Смежные вопросы