49

jquery.center.js我想向Meteor 应用程序添加一个 JavaScript 前端插件,例如。

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

您的应用程序正在崩溃。这是最新的日志。

node.js:201
抛出 e;// process.nextTick 错误,或第一次滴答时的“错误”事件
^
ReferenceError: jQuery 未定义
在 app/jquery.center.js:43:1
at /Users/crapthings/Desktop/app/.meteor/local/build /server/server.js:111:21
at Array.forEach (native)
at 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
您的应用程序正在崩溃。等待文件更改。

4

4 回答 4

38

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

根据 Meteor 文档:
客户端从以下位置加载 javascript:project/public 和 project/client
服务器从以下位置加载 javascript:project/public 和 project/server 文件夹。

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

流星添加jQuery

Meteor 文档深入解释了 JavaScript 文件是如何加载的以及静态资源应该去哪里(CSS、图像)。

另请参阅如何为 Meteor 重新打包现有库

于 2012-06-14T05:37:18.697 回答
19

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

于 2012-06-14T01:23:47.697 回答
13

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

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

在此处输入图像描述

使用 client/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. 

    });
});
于 2016-06-22T16:08:31.820 回答
3

从 Meteor 1.3 开始,您可以直接通过他们的 npm 包将 3rd 方 JavaScript 库添加到 Meteor 项目

meteor npm install --save moment

服务器端和客户端包都无需修改即可工作,因为 Meteor 的 ES2015 模块系统负责在客户端创建类似 Node 的环境,就像 browserify 或 webpack 所做的那样。

如果 npm 包碰巧无法正常运行,请在Atmoshpere上查找包装器。Atmosphere 是 Meteor 的官方第 3 个软件包存储库,但在 Meteor v1.3 之后,相关性越来越低。它最终会被淘汰

历史

在 Meteor 1.3 之前,您必须为 Meteor 重新打包 3rd 方库。开发了一个名为 Autopublish 的工具来自动化该过程。在 Meteor Development Group 停止在 meteor.com 上提供免费托管后,Autopublish 也停止了。

于 2014-11-28T05:11:13.837 回答