linux对当前路径打包,webpack下,项目打包再window下和linux下对路径大小写法处理不一样...

上周,在项目部署的时候出现一个页面css样式不正确,但是在本地开发过程中显示是正常的,但是在使用Jenkins自动编译打包部署时,页面布局显示错乱。

分析过程:

1、一开始以为地Jenkins打包编译的脚本代码有问题,经过排查是正常的。

2、本地开发正常,打包版本不正常,分析可能是编译后css的优先级被改变,导致样式被覆盖。但是本地直接build,然后使用ngnix部署,发现样式是正常的。因此排除是样式优先级被覆盖问题

3、把在本地手动打包的文件,替换Jenkins打包生成的dist文件,启动发现也是正常的。

4、最后发现,Jenkins打包的代码显示找不到一个css文件。但是本地打包是不会显示这个问题。

分析结果:

由于css文件中,在import时,我把@import "css/vehicleArchives";误写成了@import "css/vehiCleArchives",导致找不到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

在前端开发过程中,暂未遇到盘符和分隔符的相关异常,后续有遇到再进行记录。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值