在 XD 插件中存储额外数据
Storing extra data in XD plugins
我的 XD 插件需要存储额外的数据,例如用户首选项和历史记录。 XD 开发人员 API 是否允许我这样做?我可以使用哪些 API?
Adobe XD 中尚无可用的键值存储,但您可以使用 Storage APIs 来读取和写入持久数据。例如:
const fs = require("uxp").storage.localFileSystem;
let prefs = {
theme: "blue",
};
async function savePrefs() {
const settingsFolder = await fs.getDataFolder();
try {
const settingsFile = await settingsFolder.createFile("settings.json", {overwrite: true});
await settingsFile.write(JSON.stringify(prefs));
} catch(err) {
/* handle errors */
}
}
async function readPrefs() {
const settingsFolder = await fs.getDataFolder();
try {
const settingsFile = await settingsFolder.getEntry("settings.json");
prefs = JSON.parse(await settingsFile.read());
} catch(err) {
/* handle errors; can also occur if settings haven't been saved yet */
}
}
还有这个 nice abstraction library that handles key-value storage written by Pablo Klaschka,它使存储工作变得更加简单。
我的 XD 插件需要存储额外的数据,例如用户首选项和历史记录。 XD 开发人员 API 是否允许我这样做?我可以使用哪些 API?
Adobe XD 中尚无可用的键值存储,但您可以使用 Storage APIs 来读取和写入持久数据。例如:
const fs = require("uxp").storage.localFileSystem;
let prefs = {
theme: "blue",
};
async function savePrefs() {
const settingsFolder = await fs.getDataFolder();
try {
const settingsFile = await settingsFolder.createFile("settings.json", {overwrite: true});
await settingsFile.write(JSON.stringify(prefs));
} catch(err) {
/* handle errors */
}
}
async function readPrefs() {
const settingsFolder = await fs.getDataFolder();
try {
const settingsFile = await settingsFolder.getEntry("settings.json");
prefs = JSON.parse(await settingsFile.read());
} catch(err) {
/* handle errors; can also occur if settings haven't been saved yet */
}
}
还有这个 nice abstraction library that handles key-value storage written by Pablo Klaschka,它使存储工作变得更加简单。