UNIAPP:目录结构

一个uni-app工程,默认包含如下目录及文件:


┌─uniCloud云空间目录,阿里云为uniCloud-aliyun,腾讯云为uniCloud-tcb(详见uniCloud)
│─components符合vue组件规范的uni-app组件目录
│  └─comp-a.vue可复用的a组件
├─utssdk存放uts文件
├─pages业务页面文件存放的目录
│  ├─index
│  │  └─index.vue       index页面
│  └─list
│     └─list.vue        list页面
├─static存放应用引用的本地静态资源(如图片、视频等)的目录,注意:静态资源都应存放于此目录
├─uni_modules存放[uni_module](/uni_modules)。
├─platforms存放各平台专用页面的目录,详见
├─nativeplugins         App原生语言插件 详见
├─nativeResources       App端原生资源目录
│  ├─android            Android原生资源目录 详见
|  └─ios                iOS原生资源目录 详见
├─hybrid                App端存放本地html文件的目录,详见
├─wxcomponents存放小程序组件的目录,详见
├─unpackage非工程代码,一般存放运行或发行的编译结果
├─AndroidManifest.xml   Android原生应用清单文件 详见
├─Info.plist            iOS原生应用配置文件 详见
├─main.js               Vue初始化入口文件
├─App.vue应用配置,用来配置App全局样式以及监听 应用生命周期
├─manifest.json配置应用名称、appid、logo、版本等打包信息,详见
├─pages.json配置页面路由、导航条、选项卡等页面类信息,详见
└─uni.scss这里是uni-app内置的常用样式变量
	

Tips

  • HbuilderX 1.9.0+ 支持在根目录创建ext.json、sitemap.json等小程序需要的文件。

#static目录

  • 为什么需要static这样的目录?

uni-app编译器根据pages.json扫描需要编译的页面,并根据页面引入的js、css合并打包文件。
对于本地的图片、字体、视频、文件等资源,如果可以直接识别,那么也会把这些资源文件打包进去,但如果这些资源以变量的方式引用, 比如:<image :src="url"></image>,甚至可能有更复杂的函数计算,此时编译器无法分析。\

那么有了static目录,编译器就会把这个目录整体复制到最终编译包内。这样只要运行时确实能获取到这个图片,就可以显示。

当然这也带来一个注意事项,如果static里有一些没有使用的废文件,也会被打包到编译包里,造成体积变大。

另外注意,static目录支持特殊的平台子目录,比如web、app、mp-weixin等,这些目录存放专有平台的文件,这些平台的文件在打包其他平台时不会被包含。详见条件编译

非static目录下的文件(vue组件、js、css等)只有被引用时,才会被打包编译。

css、less/scss等资源不要放在static目录下,建议这些公用的资源放在自建的common目录下。

  • static目录和App原生资源目录有关系吗?

uni-app支持App原生资源目录nativeResources,下面有assets、res等目录,详见。但和static目录没有关系。

static目录下的文件,在app第一次启动时,解压到了app的外部存储目录(external-path)。

所以注意控制static目录的大小,太大的static目录和太多文件,会造成App安装后第一次启动变慢。

  • 当前日期:
  • 北京时间:
  • 时间戳:
  • 今年的第:18周
  • 我的 IP:18.191.150.214
农历
五行
冲煞
彭祖
方位
吉神
凶神
极简任务管理 help
+ 0 0 0
Task Idea Collect