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

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

如果我把它放在我的app/目录并刷新页面,我得到这个错误:

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

Node.js的:201
扔e; // process.nextTick错误,或第一次打勾时发生“错误”事件
^
ReferenceError:jQuery没有定义
在app / jquery.center.js:43:1
在/Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:111:21
在Array.forEach(native)
在function。 (/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)
在/Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:97:7
退出代码:1
你的应用程序崩溃了。 等待文件更改。

你正在把jQuery插件的JavaScript文件直接放在应用程序文件夹中,以便为客户端以及服务器加载JavaScript文件。

按照Meteor文档:
客户端从项目/公共和项目/客户端加载JavaScript
服务器从项目/公共和项目/服务器文件夹加载JavaScript。

从v1.0开始,Meteor在客户端内部使用jQuery,所以你可以直接使用你的库而不用添加jQuery。 但是,build议您明确地将jQuery添加到您的Meteor项目中:

meteor加jQuery

Meteor文档深入解释了如何加载JavaScript文件以及静态资产应该在哪里 (CSS,图像)。

另请参阅如何重新包装Meteor的现有库

把它放在client文件夹,这样它只在客户端加载,不需要服务器上的jQuery。

MeterorJS 1.3.x中的一种方法

public\js\目录下添加JS文件

在这里输入图像说明

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

在这里输入图像说明

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

从Meteor 1.3开始,您可以直接通过npm包将第三方JavaScript库添加到Meteor项目中 :

 meteor npm install --save moment 

服务器端和客户端软件包都可以不加修改地工作,因为Meteor的ES2015模块系统像browserify或webpack一样负责在客户端创build类似Node的环境。

如果一个npm软件包碰巧无法正常工作,请在Atmoshpere上查找包装。 Atmosphere是Meteor官方的第三个软件包仓库,但是在Meteor v1.3之后,这个软件的相关性就越来越差了。 它将事件逐渐被淘汰 。

历史

在meteor1.3之前,你必须重新包装Meteor的第三方库 。 一个名为Autopublish的工具被开发来使这个过程自动化。 meteor发展集团停止在meteor.com提供免费托pipe服务后,Autopublish停止运营。