相信大家都遇到过这种网页预览代码报错情况:
1.早上打开着creator项目同时,从git上拉取下几十上百个增/删/重名/改动的ts文件,然后再回到creator触发自动编译预览脚本
2.回到localhost:7456网页刷新发现报错出现类似下面错误,但同样代码在同事电脑预览是正常的
error: load script [./xxxx/xxxx] failed : Error: Cannot find module './xxxxx'
3.你心想又是cocos老毛病,自动编译预览脚本吃错药了,重启creator就可以恢复正常
通常情况下大家遇到这老问题重启creator就能解决,但可惜不是每次重启都能碰巧解决问题
4.重启后,报错依旧顽固地存在,你开始怀疑creator的编译文件缓存是不是出了问题。你像侦探一样,在项目目录下搜寻着线索,最终锁定了 temp/quick-scripts 文件缓存目录,关闭creator后毫不犹豫地将其删除,再次重启creator
重启后你终于看到网页调试页面不报红了,但可惜不是每次清缓存都能恢复正常
5.看到依旧报红网页你瞬间红温,于是下定决心仔细看看网页加载预览启动过程
6.于是打开网页调试面板看加载过程的源码, 发现项目代码全部在__quick_compile__.js 加载进内存的, 同时发现报错文件在这列表里找不到
var scripts = [{
"deps": {
"./assets/src/GameLogin": 27,
"./assets/src/Main": 93,
"./assets/src/GameController": 94,
.....
7.你心想问题肯定是编译出错没把新增文件加入scripts列表, 要么是内存的中__quick_compile__.js 文件是旧的
8.接着你找到项目目录下 temp/quick-scripts/dst/quick_compile.js 文件打开, 发现新增文件在scripts列表里, 你心想到: “难道是creator缓存了__quick_compile__.js文件在内存里?”
9.很快你排查这种猜想, 因为刚刚已经重启creator, 于是你觉得creator读的不是这份__quick_compile__文件缓存, 接着花了大半天找遍 Creator/2.4.11/resources、Users/用户名/.CocosCreator目录, 可惜找到的__quick_compile__文件与项目无关
10.接着你卸载creator再重装,完成后打开网页依旧是满屏红光,这瞬间你眼睛布满了血丝
11.此时,时间已经悄然来到了半夜。你开始怀疑creator是不是用进程共享缓存方式把__quick_compile__文件缓存到另一个进程的内存中。你像疯子一样打开任务管理器,把所有带有cocos相关的进程都强制关闭。然而,当你再次打开网页时,那满屏的红光依旧在无情地嘲笑你
12.看着满屏红字你终于忍无可忍,一脚把电脑主机踢飞几米远,等你冷静下来把电源线重新插上主机,开机打开项目后你神奇的发现调试面板不再爆红了,此时你爆出了国粹:哔~~艹
到这一步大部分人的问题都已经解决,什么? 还有人继续报错…
13.@官方


