写篇文章让自己清楚egg——(9)egg的报错与踩坑

287 阅读2分钟

无论一个程序员写代码多么牛逼,总是免不了遇到意外的报错,可能是写错了,或则是客观插件更新出现不兼容等等。

这是一个不断更新的文章,作为egg.js框架,社区生态其实并没有vue这样良好和茁壮,有时候我们需要自己总结遇到的问题并记录。

报错 1 (数据库插件配置错误)

由数据插件配置信息引起的报错,集中在配置信息错误导致一开始服务器就无法连接到服务器,所以在启动egg服务器时会报错,而且不会等到你去使用mysql插件api,所以只要启动成功,说明的你的数据库配置是正确的。

image.png

这是数据库名字错了的报错,情况还有很多:数据库没有打开,ip地址错误(非本地数据库)等,但是关于数据库的报错是相似,多多看看即可快速发现。

报错 2 (主机名匹配ip报错)

由于我们将ip与主机名进行映射,所以我们可以使用主机名代替ip地址,但是ip有时候会因为网络的变化而产生变化,所以会在启动egg服务器时产生报错,如果你实在找不到报错的原因,可以去看看你的ip地址是否发生了变化。

终端查看ip地址的指令:

    ipconfig

报错 3 (common-bin模块报错)

其实我对这个报错的原因其实也不明朗,但是很明显看到报错在强调common-bin模块,网上查找后也没有解决办法,但是有人提供了一个大思路:删除node_modules文件夹,重新下载依赖模块,可以解决99%的模块报错。

于是每次遇到这个报错,我就如此,问题迎刃而解,但是并非最佳的选择,因为总的模块数量一旦增长,将同时增长删除和下载模块的时间成本,并不适合大项目的情况,学习初期可以用以救急。

手动删除node_modules文件夹,在通过指令下载项目依赖模块:

    cnpm i

报错 4 (缺少模块报错)

这个其实非常不该,我只遇到过一次,这个情况只是因为你使用了一个模块插件,但是竟然没有下载安装。最好进入webpack.json依赖配置文件里看看你是否下载了该模块,也有可能是你的项目没有下载项目预设的依赖模块。