Mac os文件名大小写不敏感,但是linux是大小写敏感的。
让我们代入一个场景, 创建一个新文件,你习惯以小写字母开头,接着在其他module中import,看起来一切都正常,emmm,确实没有任何问题,但是你突然改了注意,把刚刚那个文件改成react component,按照约定那就要把文件名改成大写开头,嗯,没有问题,敲几个键的事儿。
过了几个小时业务写好了, 在自己的
Mac
上build, terminal显示Done, 一切都OK, 你很开心,赶紧git add, git commit, git push准备下班回家。准备合电脑的时候,WTF, CI/CD挂了,怎么报刚刚那个文件找不到,看看github代码,push成功了呀,算了,肯定是刚刚又改了啥,本地再跑一边看看,What,Mac
依然是success。 搞不定搞不定,google搜,搜了几十分钟还是没搜到是踩到了什么坑...继续搜。突然灵机一动,是不是import有问题,果然,文件名改成大写开头后import from后面却还是小写,改之,终于修好了。可是为什么我的
Mac
和linux表现不一致呢?陷入深思。再次google, 原来HFS+(Mac os的file system)默认是大小写不敏感的,所以foo.ts和Foo.ts是一样的,但是linux的file system是大小写敏感的,这就导致了两个平台的行为存在差异。