玄学!奇怪的原生import问题

直接export default new …,不要导出变量试试

看到了楼上好多回答,我只能说是基础还需夯实,加油吧,多用多学

???我告诉你方案,你干啥?

image

web平台
image

ios image
严格按照你的说法来写,问题依旧

不清楚你有没有仔细看问题,上面也说了,不是简单的问题,估计是引擎问题。

抱歉我说的基础不扎实不是指的你,而是上面的回复,看你的回复我也不适合回答,如果你认为我说的是你,那就是吧

我的所有方案已经撤回,请你继续来一个嘲讽一个,请继续你的表演

不好意思,因为这个玄学问题我血压都高了,没看清原话,这个问题很不简单,估计只有引擎组能解决,你删不删的这些方法我都试了,我想得到一些在ios真的有经验人士的帮助

我也想知道这个问题,我只能说多尝试,第一个打印在回调函数内,判断globaldata是否等于await import的globaldata,第二个放在test函数内,打印参数和await import的比较,以及组件内import的globaldata和await import的比较,就知道是哪个变量不一样

那你有没有复现的 demo
如果有的话,到时可以帮你看一下

判断globaldata是否等于await import的globaldata
web肯定等于,而ios肯定不等于,想表达的问题点就在这,已经超出了js写代码来解决的范畴
合并后的项目出现import的class不相同,而这个class是新旧项目共有的内容,复制过来后,删一份,留一份,删新的和删旧的都是这样的问题

我怀疑是bundle之类的原因,合并后的项目虽然将代码、资源、场景都复制过来,但ios有特殊的导入写法,我写ios出身,但说心里话我实在是不想去看ios的开源代码了

还有个解决办法,把新版本内容一点点写到总项目,那么多新内容不是一两天的活了,肯定有个控制的地方,配置文件翻来翻去也没找到

先定位问题再说吧。顺藤摸瓜

估计要引擎团队来解决了。
一句话来说就是合并后的项目,import 导入不同的类,无论export怎么写单例,都会在ios出现不同。
或者哪位大佬遇见过这种情况,仅是原生出现这玄学问题,web确定没有问题。

我觉得,你能拿出 复现的 demo 比什么回答都强

抽demo估计要抽一天,大型项目,抽完了如果确定是引擎的问题,引擎团队也不会短期给解决方案,咱们也不会短期拿出解决方案,还是继续尝试吧,逼急了就一点点的挪,不使用直接复制文件的合并方式

这么说吧,web和ios的表现不一致,这其实就是引擎的问题了

@215194780 来活儿了

加个构造,看看 类 创建了几个对象

1赞

还有个比较方案,可以看看是不是import出的问题,就是用import出的模块和import函数内部存储的模块表里面的globaldata比较,如果不同那肯定就是import有问题

是,就是这个问题,import出的模块和import函数内部存储的模块不相同,表现为A类import的,和B类import的不相同,只出现在原生,本来就在赶项目,现在又没了一天的功夫,那种心情,唉

可以确定是ios有一个机制,跟缓存类似,缓存着import的对象数据,需要找到对应的方法将此缓存类的内容刷新,估计也不是啥大问题,很感谢你的分析,真心的。
等平静下以后我再尝试下其他方案,我怕这种高血压状态下容易猝死。