2013-11-22 1 views
1

Я новичок в Meteor.js и старается использовать Javascript-библиотеку HighCharts, не вытягивая из атмосферы. Я вызываю эту библиотеку Javascript из вспомогательного элемента шаблона в client/views/main.js, который будет отображаться в client/views/main.html.Библиотека Javascript работает с Meteor.js только при размещении в той же директории, что и шаблон

Когда я помещаю все файлы библиотеки в client/compatibility/highcharts, я получаю длинную кучу ошибок в консоли Javascript браузера.

Когда я поместить все файлы в packages/highcharts я получить одну клиентскую консоль ошибок Uncaught TypeError: Object [object Object] has no method 'highcharts'

Однако это работает только тогда, когда я двигаюсь только highcharts.js к client/views, она прекрасно работает.

Это правильный способ использования загруженной библиотеки Javascript? Кажется странным, что один из файлов .js библиотеки должен находиться в том же каталоге, что и файл шаблона.

+0

Прочтите этот раздел в документах: http://docs.meteor.com/#structuringyourapp – sbking

+0

Честно говоря, просто используйте пакет Атмосфера. Это метеорный способ сделать это. Все, что вам нужно сделать, это «mrt add highcharts», и вы золотые. Если у вас есть проблема с кодом автора пакета, вы можете клонировать его, а затем положить клонированный каталог в каталог packages /. Если вы поместите код непосредственно в пакеты/он не будет работать. – sbking

+0

Код автора уменьшен ... Мне нужно отредактировать исходный исходный файл и внести его в пакет или включить его как-то в приложение Meteor –

ответ

0
  • Единственное, что касается packages, являются ... пакетами. Там может быть размещен только JS, который специально построен с использованием API упаковки.

  • client/compatibility предназначены для создания сценариев традиционным способом. Они не завернуты в область (IIFE, я полагаю), делая их глобальными, как обычные скрипты. Однако они кодируются до других клиентских скриптов. Если это был плагин jQuery, но вы используете jQuery от Meteor, есть вероятность, что вы можете загрузить плагин перед библиотекой. Это приведет к ошибке.

Обычный способ сделать это состоит в использовании Метеор-упакованную версию плагина, в этом случае packaged Highcharts. В противном случае вы просто возьмете библиотеку и пакет как пакет метеоров. На самом деле это не так сложно.

Если вы когда-нибудь задумывались, где разместить что-то, есть unofficial FAQ, который охватывает это.

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