0-1开发自己的obsidian plugin DAY 6

今天也没少写bug,遇到了离奇的问题,很难说已经了解具体原因。阶段性总结分享一下目前比较确定的内容。

我想要实现的功能是从settingtab获取键入的内容并且另外保存到一个.json文件中。

一种可行的方式是先用:

复制代码
const absPath = app.vault.adapter.basePath;
const PATH_TO_JSON = `${absPath}/.obsidian/plugins/your-plugin-name/src/data.json`;

提供当前打开的 Obsidian 笔记库的绝对路径(注意替换这里的your-plugin-name和最后的data.json)

再用fs写入你的data_to_save:

复制代码
import * as fs from 'fs';

const jsonString = JSON.stringify(data_to_save, null, 2);
//new Notice(`Saving settings to ${PATH_TO_JSON}`);
await fs.promises.writeFile(PATH_TO_JSON, jsonString, 'utf8');

中间copilot/chatgpt给我提供了两种比较迷的解法,

一是`${this.manifest.dir},它只能获取从.obsidian之后的(半截子)路径,所以总是写不成功(害我一直去检查拼写 明明都是对的)

二是__dirname,这个的路径是:Applications/obsidian.app/contents/resources/electron.asar/renderer

这两个都是不可以的。

相关推荐
吴声子夜歌8 小时前
TypeScript——模块解析
javascript·ubuntu·typescript
吴声子夜歌10 小时前
TypeScript——声明合并
linux·ubuntu·typescript
kuuailetianzi11 小时前
构建企业级督办任务系统:Vue3 + TypeScript 实战(多级任务拆解+批量操作+进度追踪+单元格合并)
前端·javascript·typescript
吴声子夜歌12 小时前
TypeScript——命名空间
javascript·ubuntu·typescript
吴声子夜歌13 小时前
TypeScript——编译器和编译选项
前端·javascript·typescript
晓得迷路了14 小时前
栗子前端技术周刊第 122 期 - TypeScript 6.0、pnpm 11 Beta、Storybook 10.3.0...
前端·javascript·typescript
烛衔溟15 小时前
TypeScript 基础类型(上):string、number、boolean 与类型注解
javascript·typescript·前端开发·类型注解
向上的车轮15 小时前
TypeScript 一日速通指南:TypeScript可以做全栈开发吗?
前端·javascript·typescript
烛衔溟16 小时前
TypeScript 基础类型(下):数组、元组与枚举
typescript·前端开发·枚举·数组·元组
小茴香35316 小时前
拖拽实现(原生JS+Vue)
前端·javascript·vue.js·typescript