如何将第三方JavaScript库添加到Meteor应用程序?

时间:2012-06-13 07:19:42

标签: javascript meteor

我想将一个JavaScript前端插件(如jquery.center.js)添加到Meteor应用程序中。

如果我将它放在我的app/目录中并刷新页面,我会收到此错误:

  

您的应用崩溃了。这是最新的日志。

     

的node.js:201
  扔掉; // process.nextTick错误,或第一次打勾时的'错误'事件                 ^
  ReferenceError:jQuery未定义
  在app / jquery.center.js:43:1
  at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:111:21
  在Array.forEach(native)
  在功能。 (/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)
  at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:97:7
  退出代码:1
  您的应用程序崩溃了。等待文件更改。

4 个答案:

答案 0 :(得分:38)

您正在将jquery插件javascript文件直接放在app文件夹中,以便为客户端和服务器加载javascript文件。

根据Meteor文档:
客户端从以下项目加载javascript:project / public和project / client
服务器从以下项目加载javascript:project / public和project / server folders。

从v1.0开始,Meteor在客户端内部使用jQuery,因此您可以直接使用您的库而无需添加jQuery。但是,建议您明确地向您的Meteor项目添加jQuery:

  

meteor add jquery

Meteor文档深入解释how JavaScript files are loaded and where static assets should go(CSS,图像)。

另请参阅 how to repackage an existing library for Meteor

答案 1 :(得分:19)

将它放在client文件夹中,使其仅加载到客户端,不需要服务器上的jQuery。

答案 2 :(得分:12)

在MeterorJS 1.3.x中执行此操作的一种方法

public\js\目录

中添加JS文件

enter image description here

使用client / main.js中的$ .getScript从Meteor.startup方法加载它 如果要控制脚本加载顺序,请为每个js文件控制多个$ .getScript。

enter image description here

Meteor.startup(function(){
    $.getScript('js/fhir-client.js', function(){
        // script should be loaded and do something with it. 

    });
});

答案 3 :(得分:3)

从Meteor 1.3开始,您可以add 3rd party JavaScript libraries to a Meteor project directly via their npm package

meteor npm install --save moment

服务器端和客户端软件包都无需修改,因为Meteor的ES2015模块系统负责在客户端创建类似于节点的环境,就像浏览器化或webpack一样。

如果npm包无法正常运行,请在Atmoshpere上查找包装器。气氛是Meteor官方的第三个软件包存储库,但在Meteor v1.3之后变得越来越不相关。它最终将是phased out

历史

在Meteor 1.3之前,您必须repackage 3rd party libraries for Meteor。开发了一种名为Autopublish的工具来自动化该过程。在Meteor Development Group停止在meteor.com上提供免费托管后,Autopublish已停止使用。