uni-app项目成功编译到微信开发者工具出现警告:当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!

问题描述

为什么uni-app项目编译成功后,运行到微信开发者工具,却出现警告:当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!

初识uni-app的童鞋,经常会问:我使用HBuilderX 新建了一个uni-app项目,没做任何更改,在 HBuilderX 中,点击菜单栏中的运行 - 运行到小程序模拟器 - 微信开发者工具,将当前 uni-app 项目编译之后,自动运行到微信开发者工具中,然后小程序调试器中出现警告:当前组件仅支持 uni_modules 目录结构,请升级 HBuilderX 到 3.1.0 版本以上!,可是我的HBuilderX 版本已经是3.8.4最新版了,这是什么原因呢?

原因分析

其实,这并不是什么编辑器版本问题,微信开发者工具之所以出现这个警告提示,是因为App.vue 文件里边模板自带的 console.warn() 提示,只是为了提示用户不要使用低版本的 HBuilder X 仅此而已。

<script>
	export default {
		onLaunch: function() {
			console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
			console.log('App Launch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

解决方法

如果你不希望在小程序调试器里出现,可以在APP.vue里选择删掉或注释掉就OK了。文件里面同时还有三条 console.log()的输出提示,分别是App launch,App Show,App Hide,也是为了说明uni-app项目的应用生命周期函数是何时触发的。如果你觉得有碍观瞻,也可以删除或注释掉

说到这里,我们顺便提一下,uni-app 支持的应用生命周期函数:

◾ 应用生命周期

函数名说明
onLaunchuni-app 初始化完成时触发(全局只触发一次)
onShow当 uni-app 启动,或从后台进入前台显示
onHide当 uni-app 从前台进入后台
onError当 uni-app 报错时触发
onUniNViewMessage对 nvue 页面发送的数据进行监听,可参考 nvue 向 vue 通讯
onUnhandledRejection对未处理的 Promise 拒绝事件监听函数(2.8.1+)
onPageNotFound页面不存在监听函数
onThemeChange监听系统主题变化

Tips:应用生命周期仅可在App.vue中监听,在其它页面监听无效。 

👉 其他生命周期参考:页面生命周期 | 组件生命周期

◾ 页面生命周期

Tips:先触发uni-app的onReady,后触发vue的mounted,建议使用uni-app的onLoad 代替vue的 created

◾ 组件生命周期

Tips:uni-app 组件支持的生命周期,与vue标准组件的生命周期相同。没有页面级的onLoad等生命周期

### UniApp 项目目录结构说明 #### 页面存放目录 `pages` `pages` 是所有页面的存放目录,每一个 `.vue` 文件代表一个独立的页面。这些页面可以通过 `pages.json` 进行配置和管理[^1]。 #### 静态资源目录 `static` `static` 目录用于存储静态资源,例如图片、CSS 和 JS 文件等。该目录中的文件可以直接通过路径访问,并且不会经过编译处理[^2]。 #### 插件模块化目录 `uni_modules` 自 HBuilderX 3.1.0+ 起支持的 `uni_modules` 目录,主要用于封装插件模块。它能够包含一组 JavaScript SDK、组件、页面、甚至 uniCloud 云函数等内容,方便开发者将其嵌入到项目中使用。此外,还支持直接封装为项目模板供其他项目复用。 #### 打包目录 `unpackage` `unpackage` 是打包后的目录,包含了不同平台(如微信小程序、H5、Android 等)对应的打包文件。此目录一般由构建工具自动维护,不建议手动修改其内容。 #### 版本控制忽略文件 `.gitignore` `.gitignore` 文件定义了哪些文件或目录不应被提交至版本控制系统中,比如临时生成的文件或者敏感数据。 #### 应用全局配置文件 `manifest.json` `manifest.json` 是应用的全局配置文件,其中记录了应用的基本信息(如名称、图标)、权限声明以及其他一些跨平台设置项。 #### 页面配置文件 `pages.json` 作为页面级别的配置文件,`pages.json` 主要用来设定页面路由规则以及窗口的表现形式(如导航栏样式)。它是实现多页应用的关键部分之一。 #### 根组件 `App.vue` `App.vue` 表示整个应用程序的根组件,类似于 Vue.js 中的应用入口点。在这里可以完成一些全局性的操作,例如监听生命周期事件。 #### 初始化脚本 `main.js` `main.js` 是 Vue 的初始化文件,在这里会注册核心库并创建根实例,从而启动整个应用流程。 #### 可复用组件目录 `components` `components` 存放的是可以在多个页面之间共享使用的组件,有助于提高代码重用率和一致性。 #### 工具方法集合 `utils` `utils` 下放置各种实用型的方法或逻辑片段,便于集中管理和调用。 #### 网络求相关代码 `network` 专门针对 HTTP 求或其他通信协议设计的功能模块会被放在 `network` 文件夹下,这样可以让业务层更加清晰简洁。 #### 状态管理模式 (可选) `store` 当项目规模较大时,可能需要用到 Vuex 来做状态管理,则相应的 store 结构就会位于这一位置。 ```javascript // 示例:简单的 Vuex Store 定义 const state = { count: 0, }; const mutations = { increment(state) { state.count++; }, }; export default new Vuex.Store({ state, mutations, }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的烤地瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值