通过ts文件统一导出的组件在uni-app文件中引入小程序无法加载导入的组件web可以正确加载

通过ts文件统一导出的组件在uni-app文件中引入小程序无法加载导入的组件web可以正确加载

类别 信息
产品分类 uniapp/小程序/微信
PC开发环境 Windows
操作系统版本 windows 10
第三方开发者工具版本 3.7.9
基础库版本 3.1.2
项目创建方式 CLI
CLI版本 3.0.0-3081220230817001

操作步骤:

具体问题在bug描述中

预期结果:

希望能和web版本的实现一致

实际结果:

跟web版本实现结果不一致

bug描述:

index.ts文件:

import wxButton from "./wx-button/wx-button.vue";  
import wxPopup from "./wx-popup/wx-popup.vue";  

export { wxButton, wxPopup };

vue文件:

// import wxButton from "@/components/wx-button/wx-button.vue";  
// import wxPopup from "@/components/wx-popup/wx-popup.vue";  
// 这种引入index.ts文件导出的组件,小程序运行无法正确加载,web版本可以  
import { wxButton, wxPopup } from "@/components/index";  
import type { PopupStatusChangeOptions } from "@/components/types";

更多关于通过ts文件统一导出的组件在uni-app文件中引入小程序无法加载导入的组件web可以正确加载的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

是否有报错信息?请提供下测试工程

更多关于通过ts文件统一导出的组件在uni-app文件中引入小程序无法加载导入的组件web可以正确加载的实战教程也可以访问 https://www.itying.com/category-93-b0.html


微信开发者工具没有报错,我在下面重新上传了一个测试工程的附件

占个楼,蹲官方处理

测试工程代码附件

同上问题,编译微信小程序后只产生wxml文件,丢失js、wxss、json

这个问题是由于小程序平台对TypeScript模块导入的处理方式与Web平台不同导致的。在小程序环境中,直接通过index.ts文件导出组件可能会遇到模块解析问题。

解决方案:

  1. 对于小程序平台,建议直接使用.vue文件的路径导入组件,不要通过中间ts文件中转:
import wxButton from "@/components/wx-button/wx-button.vue";
import wxPopup from "@/components/wx-popup/wx-popup.vue";
  1. 如果确实需要统一导出,可以尝试在index.ts中使用以下方式:
export { default as wxButton } from "./wx-button/wx-button.vue";
export { default as wxPopup } from "./wx-popup/wx-popup.vue";
  1. 检查你的tsconfig.json配置,确保模块解析设置正确:
{
  "compilerOptions": {
    "module": "esnext",
    "moduleResolution": "node"
  }
}
回到顶部