2.4.2 自定义引擎失败,这个堆栈是什么问题

引擎编译中,首次编译需要较长时间,请稍等。
[85349] Cocos Service load base data!
[85349] Error: Error: Parsing file /Users/dd/CC/engine/cocos2d/core/platform/deserialize-compiled.ts: 'import' and 'export' may only appear at the top level (37:0)
    at Deps.parseDeps (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/module-deps/index.js:481:28)
    at getDeps (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/module-deps/index.js:414:40)
    at /Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/module-deps/index.js:398:32
    at ConcatStream.<anonymous> (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/concat-stream/index.js:36:43)
    at ConcatStream.emit (events.js:199:15)
    at ConcatStream.EventEmitter.emit (domain.js:469:20)
    at finishMaybe (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:475:14)
    at endWritable (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:485:3)
    at ConcatStream.Writable.end (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:455:41)
    at DestroyableTransform.onend (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/readable-stream/lib/_stream_readable.js:577:10)
    at m._parseEntry (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/editor/share/quick-compile/index.js:1:6317)
    at processTicksAndRejections (internal/process/task_queues.js:86:5)
Generate QUICK_COMPILE_BUNDLE: 0.415ms
QuickCompiler compileFinished: 2.916ms
QuickCompiler rebuild finished: 1399.359ms
[85349] Initializing Cocos2d
'CC_WECHATGAMESUB' is deprecated, please use 'cc.sys.platform === cc.sys.WECHAT_GAME_SUB' instead.
'CC_WECHATGAME' is deprecated, please use 'cc.sys.platform === cc.sys.WECHAT_GAME' instead.
'CC_QQPLAY' is deprecated, please use 'cc.sys.platform === cc.sys.QQ_PLAY' instead.
[85349] Error: Error: 内置引擎加载失败,Creator 无法启动。
    at Object.init (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/editor/lib/engine/browser.js:1:1894)
    at Object.exports.startup (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/editor/index.js:1:2690)
    at /Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/editor-framework/index.js:1:5084
    at /Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/async/dist/async.js:2959:19
    at wrapper (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/async/dist/async.js:272:20)
    at iterateeCallback (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/async/dist/async.js:417:21)
    at /Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/async/dist/async.js:325:20
    at /Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/async/dist/async.js:2957:17
    at Object.exports.startup (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/editor/index.js:1:2898)
Error: { SyntaxError: /Users/dd/CC/engine/cocos2d/core/platform/deserialize-compiled.ts: 'const' enums are not supported.
  182 |
  183 | /*@__DROP_PURE_EXPORT__*/
> 184 | export const enum DataTypeID {
      |        ^
  185 |
  186 |     // Fields that can be assigned directly, can be values in any JSON, or even a complex JSON array, object (no type).
  187 |     // Contains null, no undefined, JSON does not support serialization of undefined.
    at File.buildCodeFrameError (/Applications/CocosCreator/Creator/2.4.2/CocosCreator.app/Contents/Resources/app.asar/node_modules/@babel/core/lib/transformation/file/file.js:267:12)

自问自答

之前在 2.3.4 分支有过一点定制, 然后 git 切分支到 2.4.2,执行 gulp clean 和删除 node_modules,再重新按照 readme 步骤定制失败,不清楚是不是存在其它的无法清除的缓存导致。

同样按照 readme,从 2.4.2 编辑器目录拷贝出来 engine 可以定制成功。