Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 热代码推送正在破坏应用程序_Javascript_Ios_Mobile_Meteor - Fatal编程技术网

Javascript 热代码推送正在破坏应用程序

Javascript 热代码推送正在破坏应用程序,javascript,ios,mobile,meteor,Javascript,Ios,Mobile,Meteor,我正在meteor中构建一个应用程序,并尝试将其部署到iOS。直到某个时刻,一切都很顺利。我可以构建我的应用程序并将其安装到设备上。我可以运行应用程序,一切正常 奇怪的是: 当我将应用程序的新版本推送到服务器(托管在digital ocean上,而不是免费的meteor.com服务器上)时,它会提取所有新资产(我在模拟器的js调试控制台中看到过),然后变成一片空白。它还提供了一个错误,即它无法解析某些文件。我检查了DOM并点击了css和js文件。它们与索引文件是相同的html,但以不同的方式断开

我正在meteor中构建一个应用程序,并尝试将其部署到iOS。直到某个时刻,一切都很顺利。我可以构建我的应用程序并将其安装到设备上。我可以运行应用程序,一切正常

奇怪的是:

当我将应用程序的新版本推送到服务器(托管在digital ocean上,而不是免费的meteor.com服务器上)时,它会提取所有新资产(我在模拟器的js调试控制台中看到过),然后变成一片空白。它还提供了一个错误,即它无法解析某些文件。我检查了DOM并点击了css和js文件。它们与索引文件是相同的html,但以不同的方式断开。Css仅在我更新Css文件时受影响。仅当我更新Js文件时,Js才会受到影响

我可以通过删除应用程序并重新安装来解决这个问题,但这对我的用户来说是非常不可取的。如果应用程序突然变为空白,他们将不知道该怎么做。我想继续使用热代码推送来更新应用程序,所以完全放弃它不是一个选项

现在更奇怪的是:

meteor构建过程连接并缩小项目的所有css和js,在其上加上唯一的名称,并将其放入applications index.html文件中。当我对服务器执行更新时,index.html文件不会更改!它与旧文件保持相同。css和js的唯一标识符相同

我的理论是:

index.html
文件(或者至少是连接和缩小的css和js文件的唯一标识符)正在缓存在某个地方,并且在热代码推送发生时不会更新

我在GitHub上研究了这方面的问题,并发现了类似的问题

下面是应用程序在热代码推送后提供的实际“js”文件(您不会发现它不是js,而是半破坏的html,它是
index.html
的副本)

我知道此html格式错误。
这是我的问题,不是我写的。它是由meteor自动创建的。
这正是它如何从构建的产品中产生的