读了一下源码,读到egg-core这里。
发现了这个 EGG_LOADER, 源码只有3个地方引用到,同文件内..
https://github.com/eggjs/egg-core/blob/master/lib/egg.js#L20
https://github.com/eggjs/egg-core/blob/master/lib/egg.js#L116
https://github.com/eggjs/egg-core/blob/master/lib/egg.js#L338
EGG_LOADER是Symbol类型,挂载在 EggCore的原型上。
那么EggCore.prototype[EGG_LOADER]应该是私有方法,仅供内部使用的
神奇的是,那你把图二中的this[EGG_LOADER]替换成图三的内容,即require('./loader/egg_loader')
跑测试立马报错,请问这是什么黑科技?
EGG_LOADER是egg.js文件中的变量,并没有exports出去。 那么意味着跑的测试用例,实例化的eggCore,也是没办法获取到
EggCore.prototype[EGG_LOADER]的 那么测试是怎么失败的呢