# 页面简介 ## 页面简介 uni-app x 项目中,页面文件的后缀名`.uvue`文件。 每个uvue文件,都是一个符合`Vue SFC规范`的 vue 文件。 uni-app x 只有 `.uvue`页面,不支持和vue页面并存(因vue是js驱动、webview渲染,uni-app x在app-Android中没有js引擎,app中渲染是原生渲染,无法使用vue页面)。 当然某些组件可以通过条件编译同时适配uni-app和uni-app x,所以在uni-app x的项目中,看到某些组件代码也有vue文件,但这些vue文件并不在uni-app x项目中生效,或者被当做uvue组件对待。 另外uts组件的[uni-app兼容模式插件](./plugin/uts-component.md)的入口文件命名是index.vue。因为uts插件在uni-app和uni-app x中均可使用,所以文件后缀名为vue。\ 但这个vue文件并不是真正的页面,它只是uts组件插件为了尽可能照顾开发者习惯而参考vue规范定义的原生组件入口文件。 uni-app x 在非小程序平台上,提供了[dialogPage](./api/dialog-page.md),这是一种在主页面上弹出全屏的、背景透明的模态子页面。 uni-app x 在app-android上,每个页面都是一个全屏activity,不支持透明。如需要透明页面请使用[dialogPage](./api/dialog-page.md) ## 页面管理 ### 新建页面 新建页面,默认保存在工程根目录下的`pages`目录下。 每次新建页面,均需在`pages.json`中配置`pages`列表;未在`pages.json -> pages` 中注册的页面,在编译阶段会被忽略,不会进入编译产物。 pages.json的完整配置参考:[页面配置](./collocation/pagesjson.md)。 通过HBuilderX开发 `uni-app x` 项目时,在项目上右键“新建页面”,HBuilderX会自动在`pages.json`中完成页面注册,开发更方便。 新建页面时,可以选择`是否创建同名目录`。创建目录的意义在于: - 如果你的页面较复杂,需要拆分多个附属的uts、css、组件等文件,则使用目录归纳比较合适。 - 如果只有一个页面文件,大可不必多放一层目录。 不管是普通页面,还是dialogPage页面,都需要在pages.json中注册。 ### 删除页面 删除页面时,需做两件工作: - 删除`.uvue`文件 - 删除`pages.json -> pages`列表项中的配置 (如使用HBuilderX删除页面,会在状态栏提醒删除pages.json对应内容,点击后会打开pages.json并定位到相关配置项) ### 页面改名 操作和删除页面同理,依次修改文件名和 `pages.json`。 ### pages.json pages.json位于工程根目录,是工程的页面管理配置文件,功能包括:页面路由注册、页面style参数配置(背景色、原生标题栏、下拉刷新...)、首页tabbar等众多功能。 其篇幅较长,另见 [pages.json](./collocation/pagesjson.md) #### 设置应用首页@startpage `pages.json -> pages`配置项中的第一个页面,作为当前工程的首页(启动页)。 ```json { "pages": [ { "path": "pages/index/index", //名字叫不叫index无所谓,位置在第一个,就是首页 "style": { "navigationBarTitleText": "首页" //页面标题 } }, { "path": "pages/my", "style": { "navigationBarTitleText": "我的" } }, ] } ``` ## 页面内容构成 uvue页面基于 vue 单文件组件规范。一个页面内,有3个根节点标签: - 模板区 `