uni-app 微信小程序使用extends没有生成wxml文件

uni-app 微信小程序使用extends没有生成wxml文件

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

操作步骤:

  • pages/base/base.vue
<template>  
    <view >  
              {{title}}  
       </view>  
</template>  

<script>  
export default {  
          data() {  
            return {  
                title: 'base',  

            }  
        }  
}  
</script>  

<style>  
</style>
  • pages/a/a.vue
<script>  
import base from '../base/base.vue'  
export default {  
          extends: base,  
          name: 'a',  
          data() {  
            return {  
                title: 'a',  

            }  
        }  
}  
</script>  

预期结果:

  • pages/a下生成a.wxml

实际结果:

  • 未生成 a.wxml

bug描述:

页面a.vue使用extends继承base.vue,小程序编译没有生成a,wxml文件


更多关于uni-app 微信小程序使用extends没有生成wxml文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

问题解决了吗?我也出现了这个问题

更多关于uni-app 微信小程序使用extends没有生成wxml文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中使用 extends 继承组件时,微信小程序平台不会为继承的页面生成对应的 WXML 文件,这是由框架的编译机制决定的。

原因分析:

  1. uni-app 的编译策略中,页面文件(位于 pages 目录)需要通过 Vue 组件的完整结构(包括 <template>)来生成小程序模板。
  2. a.vue 仅包含 <script> 且通过 extends 继承时,编译器无法提取到有效的模板内容,因此不会生成 a.wxml

解决方案:

  • a.vue 中明确添加 <template> 部分,即使内容简单。例如:
    <template>
      <view>{{ title }}</view>
    </template>
回到顶部