y***@163.com
y***@163.com
  • 发布:2023-12-12 10:31
  • 更新:2023-12-13 10:57
  • 阅读:283

【报Bug】关于使用 `dcloudio/uni-preset-vue` 创建 pnpm workspace 项目时的编译错误问题

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Mac Intel

浏览器平台: Chrome

浏览器版本: 121

项目创建方式: CLI

CLI版本号: 2.0

操作步骤:

使用 pnpm workspace 创建项目;

预期结果:

执行 pnpm run serve 可以正常编译并进行开发;

实际结果:

执行 pnpm run serve 后导致编译报错,提示缺少加载器(因为 code 为 Promise 的原因导致直接拼接字符串报错);

bug描述:

我想使用 pnpm workspace 进行创建 uniapp 项目,但是当我使用 vue create -p dcloudio/uni-preset-vue mobile 后在项目中进行运行项目。编译时提示 webpack loader 缺少,经过我的排查发现是 vue-tamplate-loader 加载器中发生的错误,不知道是什么原因导致返回值 code 为一个 Promise 对象,所以直接进行拼接的话就会发生错误,当我进行修正后代码运行正常。这种情况仅限于当我使用 pnpm workspace 模式创建项目时会发生,单独使用 vue create -p dcloudio/uni-preset-vue my-project 创建独立的项目并不会发生该情况;

项目结构为:

|- apps // 项目  
|-- mobile // uniapp 项目  
|-- ...        // 其他项目  
|- packages // 项目依赖包  
|- packages.json // 根依赖  
|- pnpm-workspace.yaml // 工作区描述文件
2023-12-12 10:31 负责人:YUANRJ 分享
已邀请:
y***@outlook.com

y***@outlook.com

来个官网人员确认一下

y***@163.com

y***@163.com (作者)

  1. 在根目录添加 .npmrcshamefully-hoist=true
  2. 首先在创建工作空间创建 uni-app 项目
  3. 新创建的uni-app版本为2.0.2-3061420221215001

正常编译

要回复问题请先登录注册