Skip to main content
版本:v3

文件系统

介绍

Zepp OS 小程序文件系统目录分为两个部分,/assets 资源目录和 /data 数据目录。

其中 /assets 目录存放小程序的资源,此目录下只可以执行可读操作。

信息

statAssetsSyncopenAssetsSync 两个 API 以 /assets 资源目录为根目录

每一个小程序都会有自己的 /data 数据文件目录,此目录可以读取和写入,每个小程序之间的数据相互隔离。

信息

除了 statAssetsSyncopenAssetsSync 两个 API,其余文件系统操作 API 都是以 /data 为根目录

/assets 资源目录

这里需要明确两个 /assets 目录概念

  • 小程序开发时目录结构中的 /assets 目录
  • 小程序文件系统 /assets 目录

两者存在非常紧密的联系,直接看一个例子。

下图是小程序开发时目录结构中的 /assets 目录

.
assets
├── gtr-3
│ ├── icon.png
│ └── image
│ └── logo.png
├── gtr-3-pro
│ ├── icon.png
│ └── image
│ └── logo.png
└── gts-3
│ ├── icon.png
│ └── image
│ └── logo.png
└── raw
└── data.txt

小程序编译构建完之后,小程序文件系统 /assets 目录就对应如下。

.
assets
├── icon.png
└── image
│ └── logo.png
└── raw
└── data.txt

相关 assets 目录操作的 API 路径参照上图写即可,比如需要访问 raw/data.txt

page.js
import { openAssetsSync, O_RDONLY } from '@zos/fs'

const fd = openAssetsSync({
path: 'raw/data.txt',
flag: O_RDONLY
})
提示

/raw 是一个约定的目录名,/raw 目录在编译打包的时候会复制到小程序文件系统目录中

Zepp OS 3.0 路径规范

在 Zepp OS 3.0 之后,API 中的路径支持绝对路径写法,支持使用 assets:// 前缀访问资源 /assets 目录,data:// 访问小程序数据 /data 目录。

看一个例子:

.
assets
└── image
└── hello.png

.
data
└── download
└── world.png
资源目录前缀只读示例
/assetsassets://assets://images/hello.png
/datadata://data://download/world.png