yarn
yarn start
之后出现以下报错


报错不是写很清楚了么,你引入的 Controller 不存在。
另外,重新安装下依赖,不要锁版本(是的,我说的就是 yarn 这货)
我没引入controller,代码无任何改动。
删除依赖重新安装下看看,不要锁版本。
rm -rf node-modules && npm i
谢谢,删除node-modules后,重新 npm install解决了
不过貌似cnpm installl 和yarn同样的问题
可能是需要多次去install
跟多次没关系,就是不要锁版本,遇到问题先重新安装依赖看看。
前面用yarn安装过多次,没解决,锁版本真坑。
永远永远不要锁版本。
😁谢谢
@atian25 我们的错误提示也应该改善一下,提示一下 controller 的名称也好

第一眼看的先是红的报错,再接着是这个,不是太明显,容易忽略。
@fengmk2 看了下,是个问题,当前只有 router.get('/', 'home.index') 字符串格式才会提示
router.get('/', controller.home.index1); 这样的,传递进去就是 undefined 了,无法知道路径,除非 Controller 这里做个 Proxy 来监控 unknown prop
确实,如果 undefined 也拿不到文件路径,因为这个是挂在 obj 上的
@popomore 除非用 Proxy 黑魔法
换一种思路,指出他在哪里报错的这样不是也行嘛?不一定非得暴露出文件名。

堆栈里面本来就指出了啊
记起来了,之前我想优化这里的,没什么好办法,然后看到堆栈有,就懒得搞了。
在具体一点,比如:
(...router.js:1:10)
router.post('/api/getUserInfo', controller.userInfo.index)
controller not exists
这属于堆栈定制了,不考虑了。正常的研发应该都会看堆栈。
哦,对哦,有堆栈,忽略我的提议。
感觉提示有点误导,controller not exsits,然后跑去controller中去找问题了,要是改成you have configed an unexisted router会不会好一点
egg 的很多报错语义都无法理解!有时候猜都猜不到!
Most helpful comment
堆栈里面本来就指出了啊