如何将第三方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停止运营。