Javascript库只有在与模板放在同一目录下时才能与Meteor.js一起使用

时间:2013-11-22 22:57:54

标签: javascript node.js meteor

我是Meteor.js的新手,并试图使用Javascript库HighCharts,而不是从Atmosphere中提取。我从client/views/main.js中的模板助手调用此Javascript库,以显示在client/views/main.html中。

当我将所有库的文件放入client/compatibility/highcharts时,我在浏览器Javascript控制台中收到了很多错误。

当我将所有文件放入packages/highcharts时,我收到一个客户端控制台错误Uncaught TypeError: Object [object Object] has no method 'highcharts'

但是只有当我只将highcharts.js移动到client/views时,它才有效,但效果非常好。

这是使用下载的Javascript库的正确方法吗?看起来奇怪的是,其中一个库的.js文件必须与模板文件位于同一目录中。

1 个答案:

答案 0 :(得分:0)

  • packages唯一的问题就是...包。只有使用包装API专门构建的JS才能放在那里。

  • client/compatibility用于构建传统方式的脚本。它们不包含在范围内(我认为是IIFE),使它们像普通脚本一样全局化。但是,它们在其他客户端脚本之前被编码。如果这是一个jQuery插件,但你使用Meteor的jQuery,你可能会在库之前加载插件。这将导致错误。

通常的方法是使用插件的Meteor打包版本,在本例中为packaged Highcharts。否则,您只需将一个库和包作为流星包。实际上并不难。

如果你想知道在哪里放置什么,那就有unofficial FAQ来涵盖这一点。