将应用程序部署到 Meteor 时出现此错误

Posted

技术标签:

【中文标题】将应用程序部署到 Meteor 时出现此错误【英文标题】:Getting this error when deploying app to Meteor 【发布时间】:2013-12-04 15:26:42 【问题描述】:

我有一个简单的页面,当我加载页面时,当应用程序部署到流星时,我在控制台中看到此错误

XMLHttpRequest 无法加载 https://ddp--6904-pipevine.meteor.com/sockjs/info?cb=vu7x9tcdcm。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://pipevine.meteor.com' 因此不允许访问。

【问题讨论】:

没有更多信息很难说。如果可能的话,查看代码会很有帮助,知道你正在测试什么浏览器,你正在使用哪些包,这是否是一个新问题等等。我很乐意直接提供帮助 - 喜欢看到其他 DC 人使用流星。你可以在推特上找到我。 我正在使用 Chorme 进行测试。我正在使用 collection2 和 IronRouter。它是一个非常简单的表单提交。有趣的是,当我运行该代码时,它可以在我的本地环境中运行。没有问题,但在部署到 Modulus 和 Meteor 时会出现问题。 我认为这与页面加载时出现的网络错误有关,因此无需提交表单即可重现。你可以看到一堆被取消的 ddp 请求。由于非常相似的 ddp 请求在其他站点 (roles.meteor.com) 上工作,它似乎是特定于您的项目的东西。您可以尝试部署一个示例应用程序,然后慢慢复制相关内容(包、设置等),直到它崩溃。 【参考方案1】:

编辑: 我刚刚在 pipevine.meteor.com 上做了一些检查元素,发现与@jrullmann 相同的结果,页面加载时发生错误。

https://ddp--2488-pipevine.meteor.com/sockjs/info?cb=g70xkxrmob 是有效资源并被重定向到 (http)pipevine.meteor.com/sockjs/info?cb=g70xkxrmob,因此该资源没有问题。您的 SockJS 在 pipevine.meteor.com/sockjs 上似乎也可以正常工作

再次根据我的猜测,可能是 ironRouter 或 Collection2(AutoForm) 问题,因为我看到 http://pipevine.meteor.com/:1 也有同样的问题。

根据我的第二个猜测,您能否尝试暂时从您的 html 中删除/注释掉 <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700,800' rel='stylesheet' type='text/css'>。并查看错误是否在加载时消失。

【讨论】:

这是基于错误消息的一个很好的猜测,但我认为在这种情况下还有更多事情要做。部署到meteor.com 的其他项目使用ddp 进行跨域请求,没有错误。这是一个示例:roles.meteor.com 他们使用 wss 作为协议。不知道为什么它会将我的表单切换到 https @jrullmann 我同意,发生了很多事情,我刚刚编辑了我的答案:) 这是另一个猜测。

以上是关于将应用程序部署到 Meteor 时出现此错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Meteor 中启动 IOS/Android 应用程序时出现“运行两个 Meteor 副本...”错误

将 Meteor 应用程序部署到 Elastic Beanstalk

为啥在尝试将firebase添加到flutter时出现此错误“已弃用的API”

为啥在尝试将 UIPopover 附加到不同类中的 UIButton 时出现此构建错误?

Meteor 错误:EACCES:权限被拒绝,rmdir 'build'

部署 SnappyData-0.5 pulse.war 时出现 Bean 缺失错误