uni-app 使用CLI创建的最新TS项目运行出错

uni-app 使用CLI创建的最新TS项目运行出错

操作步骤:

  • 创建项目
    vue create -p dcloudio/uni-preset-vue my-project
    
  • 使用HBuildx 3.3.3打开项目
  • 点击运行 -> 运行到内置浏览器
  • 出现图一中的错误
  • 配置tsconfig.json中的include项后,项目无法运行

预期结果:

  • 正常运行

实际结果:

  • 升级SDK版本后项目无法正常运行

bug描述:

使用 vue create -p dcloudio/uni-preset-vue my-project 命令创建最新的TS项目,然后在项目中的tsconfig.json中配置"include"项,使用HBulider3.3.3无法运行。

图片

Image 1 Image 2

开发环境 版本号 项目创建方式
Mac 11.6.2 HBuilderX

更多关于uni-app 使用CLI创建的最新TS项目运行出错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

用最新命令创建试下,详见文档

更多关于uni-app 使用CLI创建的最新TS项目运行出错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


cli 稍后会发布一个版本修复此问题
使用命令 npx @dcloudio/uvm alpha 更新依赖后重试

根据你提供的信息,这个问题是由于 tsconfig.json 配置与 HBuilderX 内置的构建流程冲突导致的。

核心原因分析:

  1. HBuilderX 的构建机制:HBuilderX 在运行项目时,会使用其内置的 @dcloudio/vite-plugin-uni 插件来处理 TypeScript。该插件对 tsconfig.json 的配置有特定的要求,尤其是 includeexclude 字段。
  2. 配置冲突:当你手动修改 tsconfig.jsoninclude 字段后,可能会覆盖或与 HBuilderX 插件预期的文件包含规则产生冲突,导致插件无法正确识别和编译项目入口文件(如 main.tspages.json 等),从而引发图一中的编译错误(通常为 Cannot find module 或入口文件未正确编译)。

解决方案:

方案一(推荐):恢复或调整 tsconfig.json 配置

  • tsconfig.json 中的 include 字段恢复为项目创建时的默认状态,或者确保其包含以下路径模式:
  ```json
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.vue"
  ]
  ```
  • 关键点:不要将 node_modulesdist 等构建输出目录包含在内。确保 exclude 字段包含 node_modulesdist
  • 修改后,重启 HBuilderX 并重新运行项目。

方案二:检查并更新依赖版本

  • 确保 package.json 中的 @dcloudio 相关依赖(如 @dcloudio/uni-app@dcloudio/vite-plugin-uni)为较新版本,与 HBuilderX 3.3.3 兼容。可尝试运行:
  ```bash
  npm update @dcloudio/uni-app @dcloudio/vite-plugin-uni
  ```
  • 如果问题依旧,可尝试删除 node_modulespackage-lock.json(或 yarn.lock),重新安装依赖:
  ```bash
  rm -rf node_modules package-lock.json
  npm install
  ```

方案三:使用 CLI 运行项目

  • 如果以上方法无效,可尝试直接使用 Vue CLI 或 Vite 命令运行项目,避免 HBuilderX 内置构建流程的影响:
  ```bash
  npm run dev:mp-weixin  # 运行到微信小程序
  npm run dev:h5         # 运行到 H5
回到顶部