UniApp Workspaces 编译报错(`Invalid pattern ...`)解决办法

问题

在 Workspaces 组织 UniApp 项目时,编译为 mp-weixin 时出现报错:Invalid pattern "../../....../xxx.js" for "output.chunkFileNames", patterns can be neither absolute nor relative paths. If you want your files to be stored in a subdirectory, write its name without a leading slash like this: subdirectory/pattern."

解决办法

UniApp 编译工具没有正确处理 Workspaces 引入依赖时带有的相对路径 ../。可以直接修改utils内的对应函数,将相对路径替换成空。

文件位于:

bash 复制代码
node_modules/@dcloudio/uni-cli-shared/dist/utils.js

找到 normalizeNodeModules 函数,修改:

【修改前】

javascript 复制代码
function normalizeNodeModules(str) {
  // ... 原有代码
  return str;
}

【修改后】

javascript 复制代码
function normalizeNodeModules(str) {
  // ... 原有代码

  // 匹配删除路径中的所有相对路径标识符 '../'
  str = str.replace(/\.\.\//g, '')

  return str;
}

重启编译即可解决。


注意: 这是一个临时补丁。如果运行 npm install 等命令,该文件会被覆盖,需要重新修改。

相关推荐
Justin3go1 小时前
HUNT0 上线了——尽早发布,尽早发现
前端·后端·程序员
怕浪猫1 小时前
第一章 JSX 增强特性与函数组件入门
前端·javascript·react.js
铅笔侠_小龙虾2 小时前
Emmet 常用用法指南
前端·vue
钦拆大仁2 小时前
跨站脚本攻击XSS
前端·xss
VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue校园社团管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
ChangYan.4 小时前
直接下载源码但是执行npm run compile后报错
前端·npm·node.js
skywalk81634 小时前
在 FreeBSD 上可以使用的虚拟主机(Web‑Hosting)面板
前端·主机·webmin
ohyeah5 小时前
深入理解 React 中的 useRef:不只是获取 DOM 元素
前端·react.js
MoXinXueWEB5 小时前
前端页面获取不到url上参数值
前端
低保和光头哪个先来5 小时前
场景6:对浏览器内核的理解
开发语言·前端·javascript·vue.js·前端框架