📖摘要
今天分享下 ——
uni-app
系列(十八):uni-app
开发规范、目录结构、资源路径 的一些基本知识,欢迎关注!
欢迎阅读,总结系列:野蛮生长的 uni-app 学习之路
🌂开发规范
为了实现多端兼容,综合考虑编译速度、运行性能等因素,uni-app
约定了如下开发规范:
- 页面文件遵循 Vue 单文件组件 (SFC) 规范
- 组件标签靠近小程序规范
- 接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni
- 数据绑定及事件处理同 Vue.js 规范,同时补充了App及页面的生命周期
- 为兼容多端运行,建议使用flex布局进行开发
🌂目录结构
一个 uni-app
工程,默认包含如下目录及文件:
┌─cloudfunctions 云函数目录(阿里云为aliyun,腾讯云为tcb,详见uniCloud)
│─components 符合vue组件规范的uni-app组件目录
│ └─comp-a.vue 可复用的a组件
├─hybrid 存放本地网页的目录,详见
├─platforms 存放各平台专用页面的目录,详见
├─pages 业务页面文件存放的目录
│ ├─index
│ │ └─index.vue index页面
│ └─list
│ └─list.vue list页面
├─static 存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─wxcomponents 存放小程序组件的目录,详见
├─main.js Vue初始化入口文件
├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期
├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见
└─pages.json 配置页面路由、导航条、选项卡等页面类信息,详见
Tips
static
目录下的 js 文件不会被编译,如果里面有es6
的代码,不经过转换直接运行,在手机设备上会报错。css、less/scss
等资源同样不要放在static
目录下,建议这些公用的资源放在common
目录下。HbuilderX 1.9.0+
支持在根目录创建ext.json
sitemap.json
文件。
🌂资源路径说明
模板内引入静态资源
template
内引入静态资源,如 image、video
等标签的 src
属性时,可以使用相对路径或者绝对路径,形式如下
<!-- 绝对路径,/static指根目录下的static目录,在cli项目中/static指src目录下的static目录 -->
<image class="logo" src="/static/logo.png"></image>
<image class="logo" src="@/static/logo.png"></image>
<!-- 相对路径 -->
<image class="logo" src="../../static/logo.png"></image>
注意
@
开头的绝对路径以及相对路径会经过base64
转换规则校验- 引入的静态资源在非
h5
平台,均不转为base64
。 H5
平台,小于4kb
的资源会被转换成base64
,其余不转。- 自
HBuilderX 2.6.6-alpha
起template
内支持@
开头路径引入静态资源,旧版本不支持此方式 App
平台自HBuilderX 2.6.9-alpha
起template
节点中引用静态资源文件时(如:图片),调整查找策略为【基于当前文件的路径搜索】,与其他平台保持一致- 支付宝小程序组件内
image
标签不可使用相对路径
js文件引入
js
文件或script
标签内(包括renderjs
等)引入js
文件时,可以使用相对路径和绝对路径,形式如下
// 绝对路径,@指向项目根目录,在cli项目中@指向src目录
import add from '@/common/add.js'
// 相对路径
import add from '../../common/add.js'
注意
js
文件不支持使用/
开头的方式引入
css引入静态资源
css
文件或style
标签内引入css
文件时(scss、less
文件同理),可以使用相对路径或绝对路径(HBuilderX 2.6.6-alpha
)
/* 绝对路径 */
@import url('/common/uni.css');
@import url('@/common/uni.css');
/* 相对路径 */
@import url('../../common/uni.css');
注意
- 自
HBuilderX 2.6.6-alpha
起支持绝对路径引入静态资源,旧版本不支持此方式
css
文件或style
标签内引用的图片路径可以使用相对路径也可以使用绝对路径,需要注意的是,有些小程序端css
文件不允许引用本地文件(请看注意事项)。
/* 绝对路径 */
background-image: url(/static/logo.png);
background-image: url(@/static/logo.png);
/* 相对路径 */
background-image: url(../../static/logo.png);
Tips
- 引入字体图标
@
开头的绝对路径以及相对路径会经过base64
转换规则校验- 不支持本地图片的平台,小于40kb,一定会转base64。(共四个平台mp-weixin, mp-qq, mp-toutiao, app v2)
h5
平台,小于4kb会转base64
,超出4kb时不转。- 其余平台不会转
base64
最后感谢大家耐心观看完毕,留个点赞收藏是您对我最大的鼓励!
🎉最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97370.html