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

IT技术 javascript meteor
2021-03-03 17:17:22

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

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

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

node.js:201
抛出 e; // process.nextTick 错误,或第一个滴答时的“错误”事件
^
ReferenceError: jQuery is not defined
at app/jquery.center.js:43:1
at /Users/crapthings/Desktop/app/.meteor/local/build /server/server.js:111:21
在 Array.forEach(本机)
在函数。(/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个回答

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

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

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

流星添加jquery

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

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

CSS 和图像应该放在项目根目录下的“public”目录中。更多:我应该把我的文件放在哪里?
2021-05-04 17:17:22
资产(css、图像等)怎么样?你把它们放在哪里?
2021-05-16 17:17:22

把它放在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. 

    });
});
如果 3rd 方库在 npm 上,最好从 npm 添加
2021-05-06 17:17:22

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

meteor npm install --save moment

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

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

历史

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