Deployment 什么会导致meteor web应用程序中不同设备上的显示错误,并且只会捆绑一次

Deployment 什么会导致meteor web应用程序中不同设备上的显示错误,并且只会捆绑一次,deployment,meteor,Deployment,Meteor,我的问题是,我的内容根本不显示在特定的设备/浏览器上,仅捆绑一次。无论设备或浏览器是什么,wep应用程序都会在调试中正确显示(从meteor运行) 编辑:在受影响的设备/浏览器上,我可以看到导航栏和页脚,但看不到屈服 到目前为止,已知受影响的设备/浏览器是Nexus 4上的Chrome(不在注释3中)和注释3上的Dolphin Dev环境是Windows,prod是Linux 我也尝试过直接在服务器上通过meteor运行应用程序,问题不在这里,但即使我从服务器捆绑应用程序,问题还是回来了 知道是

我的问题是,我的内容根本不显示在特定的设备/浏览器上,仅捆绑一次。无论设备或浏览器是什么,wep应用程序都会在调试中正确显示(从meteor运行)

编辑:在受影响的设备/浏览器上,我可以看到导航栏和页脚,但看不到
屈服

到目前为止,已知受影响的设备/浏览器是Nexus 4上的Chrome(不在注释3中)和注释3上的Dolphin

Dev环境是Windows,prod是Linux

我也尝试过直接在服务器上通过meteor运行应用程序,问题不在这里,但即使我从服务器捆绑应用程序,问题还是回来了

知道是什么原因和/或如何排除故障吗

编辑2

我终于可以确认这是一个客户端错误。 以下是设备上chrome控制台的错误

Exception from Deps recompute function: ReferenceError: Lists is not defined
at Object.Template.layout.helpers.lists (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:31:25567)
at http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:10:5624
at Object.e.call (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:27:20793)
at HTML.DIV.HTML.UL.UI.Each.UI.block.e [as __sequence] (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:27:28178)
at http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:10:4102
at http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:9:3419
at a (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:2:4791)
at n.extend._compute (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:2:5846)
at new e.Computation (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:2:5183)
at Object.n.extend.autorun (http://example.com/8f6c9295e0ef7b38e613447d9a44d5c7af448efa.js:2:7042)

但是列表集合已定义、发布和订阅。最奇怪的是,当通过Meteor进行调试时,一切都运行良好。在我的具体案例中,集合定义位于应用程序根目录下的
/Collections
文件夹中。这导致应用程序在
/client
文件夹之后加载它们,但仅在部署后加载,并且仅在某些设备/浏览器上加载


为了解决这个问题,我只需将
/collections
文件夹移动到
/lib
中,再将其捆绑,然后将其推送到服务器,现在无论设备/浏览器是什么,一切都可以完美地工作。

它可能是任何东西。如果您有服务器的shell访问权限,我建议您以调试模式(在服务器上)运行应用程序,并查看日志。他们应该会提供你需要的反馈。@apendua我确实在服务器上以调试方式运行了应用程序(
nodejs myapp.js
),但控制台上没有出现任何问题,服务器端没有错误,应用程序在多个设备/浏览器上显示良好编辑我可以在设备/浏览器上看到导航栏和页脚,但看不到导致我头痛的
yield
。我所说的调试模式更像是在克隆的repo目录中调用
meteor--port…
,您在哪个文件中定义此
列表
集合?列表集合是在
/collections/Lists.js
中定义的,当使用
meteor--port 80运行应用程序时,问题并不存在,即使它是从服务器运行的。这最终只是一个奇怪的加载顺序问题,只发生过一次捆绑。虽然我在Meteor文档中没有找到任何关于
/collections
加载顺序的官方规范,但将它们放在
/lib
下似乎可以解决这个问题。