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 文件,这是由框架的编译机制决定的。
原因分析:
- uni-app 的编译策略中,页面文件(位于
pages目录)需要通过 Vue 组件的完整结构(包括<template>)来生成小程序模板。 - 当
a.vue仅包含<script>且通过extends继承时,编译器无法提取到有效的模板内容,因此不会生成a.wxml。
解决方案:
- 在
a.vue中明确添加<template>部分,即使内容简单。例如:<template> <view>{{ title }}</view> </template>

