今天,遇到了我程序员职业生涯中最为傻(sha)瓜(bi)的问题
而我,因为这个问题反反复复debug了四个小时
下面,开始我的心酸历程
前端代码开发完成以后,准备在jenkins构建服务器构建
构建时,惊闻发生了错误
抱着恐惧又虔诚的心情,立马登上构建服务器查看
报错如下
嗯,不慌,有问题就解决
先本地跑一下打包吧,咦!成功了!
在找一个别的使用mac的同事跑一下,还是成功了!
可是使用ubuntu的同事在自己的电脑上跑时出现了如构建服务器一样的问题
可是我在在webpack配置文件中配置好了component的路径呀
他为什么会跑到当前路径去找component/topbar.vue呢
而且两个开发人员的mac都能跑通打包
而使用ubuntu的同事 以及ubuntu的构建服务器都跑不通
程序员的敏锐直觉告诉我,这一定是环境配置的问题!!!
反反复复谷歌查了好半天,发现居然没有老铁碰见过这种问题???
WTF?
没办法了,只能依靠自己的拙略的debug技术了
首先我要定位下问题具体出现在那里
难道是我的resolve.alias写错了?
抱着诚恳的心态重新学习了resolve.alias,没问题呀
然后我修改了index.js中的import router from './js/router/index'; => import router from 'js/router/index';
提交代码,到构建服务器去跑一遍构建。
咦,没有问题。
嗯,在index.js中使用resolve.alias中定义的快捷访问没有问题;在.vue文件中使用出现了问题。
那。。。一定是我的vue相关的loader出现了问题!!!
我真是太机智了。
好了,好好研究一下vue中的loader吧。
是不是有的loader在mac下能用,在ubuntu下不能用呢?
是不是装的什么loader的版本不对呢?
我开始了反反复复的试验
不放过任何一种小小的可能性
修改代码 提交代码 打包构建
如此往复了好多遍
还是不能搞定这个bug
啊啊啊啊啊 天要亡我???
我的程序员生涯走到了尽头???
debug真TM是个玄学,老子要爆粗了!!!
就在这时,同事发来一条微信
我。。。。。。
。。。。。。。。
。。。。。。。。。
往事一幕幕出现在我的眼前。
之前自己写了一个叫topBar.vue
有一次在回看自己代码的时候,觉得topBar.vue这个名字很不科学
恍惚间记得好像有人说过文件名不能大写???
然后我赶紧屁颠屁颠的把名字改为topbar.vue
嗯,好啦!
然而,我忘记了记忆中那个告诉我文件名最好不要大写的人还说了句:
mac对文件名大小写不敏感。。。
就这样,我开心的以为自己修改了git上的文件名
我以为构建服务器上的文件名也改了
以为mac可以跑,ubuntu不能是因为环境配置问题
你以为的你以为就是你以为?
万万没想到,打败自己的是这样一个愚蠢的错误
果然,有些bug自己踩过才能刻骨铭心。