前端踩坑日记-sass-resources-loader在Windows上遇到的问题

这几天在给应届生启动项目时,在团队其他人,包括自己在内,启动都是没问题的,唯独应届生启动时总会报下面一个错误

js 复制代码
      Did you forget to resolve this to an absolute path with path.resolve?

在构建时我们是引用了sass-resources-loader处理了scss全局变量给其他的scss文件使用

看到错误的第一反应是框架层面关于sass全局变量的构建失败,便翻了框架的构建产物,发现实际上对应的地址是能找到资源的。但是在构建时,就是会报找不到的错误。 但是奇怪的是只有应届生会失败,唯一的区别便是我们是mac而应届生是windows系统

系统之间存在差异。关于文件找不到最大的差异便是windows的路径与mac的路径使用的斜杠是不同的。

同时也发现在json中有人刻意给glob包升级了版本

sass-resources-loader本身用的是7.x的glob版本 去除该引用包后,一切就正常了,windows上路径全都读取的到 同时在网上也发现了,将Windows的//处理一下文件路径的引用

js 复制代码
// 获取 Windows 中的路径
const pathWithBackslashes = path.join(__dirname, '../src/pages/*/index.js');

// 使用正则表达式替换反斜杠
const pathWithSlashes = pathWithBackslashes.replace(/\\/ig, '/');

也是能正常使用

因此记录一下踩坑日记,

在Windows上遇到路径异常,处理一下关于文件斜杠的问题,不清楚为何glob的8.x版本并未对路径有相关额外处理。但在下次遇到类似时,可以分析下关于不同系统文件路径的处理,有些写法在mac上或者linux上是正常,而在Windows就不一定了

相关推荐
文刀竹肃7 分钟前
DVWA -XSS(DOM)-通关教程-完结
前端·安全·网络安全·xss
lifejump11 分钟前
Pikachu | XSS
前端·xss
进击的野人15 分钟前
Vue 组件与原型链:VueComponent 与 Vue 的关系解析
前端·vue.js·面试
馬致远23 分钟前
Vue todoList案例 优化之本地存储
前端·javascript·vue.js
请叫我聪明鸭23 分钟前
CSS实现单行、多行文本超长显示 / 不超长隐藏、悬浮窗超长展示/不超长隐藏、悬浮窗手动控制样式
前端·javascript·css
blackorbird24 分钟前
苹果修复了两个在定向攻击中被利用的Webkit漏洞,其中一个与谷歌ANGLE漏洞同源
前端·webkit
席之郎小果冻24 分钟前
【04】【创建型】【聊一聊,建造者模式】
java·前端·建造者模式
风无雨27 分钟前
在 React 中实现数学公式显示:使用 KaTeX 和 react-katex
前端·react.js·前端框架
二两锅巴1 小时前
📺 无需Electron!前端实现多显示器浏览器窗口精准控制与通信
前端
炸土豆1 小时前
防抖节流里的this传递
前端·javascript