热更完成时底层报错(unshift函数) 1.4

报错行


报错信息
Simulator: /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/src/jsb_polyfill.js:16186:TypeError: split[1].split is not a function

报错函数参数如下:
searchPaths:
["/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/blackjack-remote-asset/","/Users/peng/CocosCreator/CardGame_ByCreator/assets/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/Simulator/debugruntime/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/","/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/“]

newPaths:
["/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/blackjack-remote-asset/“]

报错的也不是 unshift 啊,是 split 函数找不到

你这个 unshift 写法也有问题:

// 没有调用主体,searchPaths 和 newPaths 只是参数
Array.prototype.unshift(searchPaths, newPaths);
// 这样才对
searchPaths.unshift(newPaths);
// 或者
Array.prototype.unshift.call(searchPaths, newPaths);

没弄错我的话 我应该是原封移植过来的.
按您说的改还是报错(MACOS)

研究了一下 目前是这么写的

newpaths是数组,所以操作的是newPath[0]

我的理解原来的代码每热更一次就会在搜索路径的头加一个newpaths[0],所以做了下判断

最后我没用重启,感觉没有必为了看一下可能更新过的热更界面而重启

请问题主问题解决了没有,我也遇到同样的问题,我使用的creator版本是1.5.1

问题已解决。要解决这个问题,需要将JS虚拟机重新启动

另外,发现了win32下热更新之后,在重启js虚拟机的几处bug