webpack下,项⽬打包再window下和linux下对路径⼤⼩写法处
理不⼀样
上周,在项⽬部署的时候出现⼀个页⾯css样式不正确,但是在本地开发过程中显⽰是正常的,但是在使⽤Jenkins⾃动编译打包部署时,页⾯布局显⽰错乱。
分析过程:
1、⼀开始以为地Jenkins打包编译的脚本代码有问题,经过排查是正常的。
2、本地开发正常,打包版本不正常,分析可能是编译后css的优先级被改变,导致样式被覆盖。但是本地直接build,然后使⽤ngnix部署,发现样式是正常的。因此排除是样式优先级被覆盖问题
3、把在本地⼿动打包的⽂件,替换Jenkins打包⽣成的dist⽂件,启动发现也是正常的。
4、最后发现,Jenkins打包的代码显⽰不到⼀个css⽂件。但是本地打包是不会显⽰这个问题。
分析结果:
华为linux和windows的区别 由于css⽂件中,在import时,我把@import "css/vehicleArchives";误写成了@import "css/vehiCleArchi
ves",导致不到css⽂件。但是在本地开发过程和build完部署启动,都没有报不到样式⽂件这个错误,因为我们猜测应该是windows环境和linux环境的区别。
因为Jenkins⾃动打包部署程序是部署在linux系统下,⽽本地开发是在windows环境下。由于样式路径写错了,但是在windows下忽略了路径⼤⼩写的问题,⽽Linux是会区分⼤⼩写,因此提⽰⽆法到⽂件。
简单总结性项⽬再windows和linux下部署的差异:
1、⼤⼩写敏感度不同:
Linux下路径和⽂件名都是区分⼤⼩写的。abc/bcd/aa.jpg和abc/Bcd/aa.jpg是两个不同的⽂件路径,window访问没问题,Linux⼤⼩写敏感会导致不到⽂件。
2、盘符及⽬录分隔符的区别
⽗⼦⽬录及⽬录与⽂件的分隔符,Windows是\,⽽Linux是/,java编码最好使⽤File.separator(能够⾃动识别Widow或者Linux,使⽤想⽤的分隔符)
两个不同路径分隔符,window下;,Linux下为:,java编码最好使⽤File.pathSeparator
在前端开发过程中,暂未遇到盘符和分隔符的相关异常,后续有遇到再进⾏记录。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论