利用Template插件缩短Obsidian启动时间-存在启动或执行命令报错“Cannot read properties of null (reading ‘path‘)”

1、使用命令面板执行命令

执行命令
启动命令
会报错“Templater Error: Template parsing error, aborting. ”
在这里插入图片描述

2、使用快捷键Ctrl + shift + i 打开控制台,查看报错日志

在这里插入图片描述
原因:找不到文件路径,

3、解决方法:修改启动脚本中的文件命名

在这里插入图片描述
将其中的插件列表文件,修改为md的后缀格式,最近更新的Obsidian1.7以后的版本和配套的template版本估计都不会识别没有后缀的文件,将文件加上后缀后会自动识别到。

Obsidian 中遇到 `TypeError: Cannot read properties of undefined (reading 'querySelectorAll')` 错误通常表明某个插件自定义脚本尝试访问 DOM 元素,但目标元素尚未加载完成根本不存在。这种错误常见于前端开发中,并且在 Obsidian 的社区插件中也较为普遍。 该问题的根源可能是脚本试图通过 `document.querySelectorAll` 查询某个元素,但在执行时文档结构还未完全加载,导致返回 `undefined` [^1]。此外,如果查询的选择器拼写错误者页面上没有匹配的元素,也会引发此错误 [^1]。 为了避免此类错误,可以采取以下几种方法: - **确保文档加载完成**:将脚本放在文档底部,者使用 `DOMContentLoaded` 事件监听器以确保文档结构已经加载完毕再执行相关代码。 ```javascript document.addEventListener('DOMContentLoaded', function() { // 在这里执行你的代码 const elements = document.querySelectorAll('.your-class'); // 继续操作... }); ``` - **检查元素是否存在**:在调用 `querySelectorAll` 后,先检查是否获取到了有效的元素集合。 ```javascript const elements = document.querySelectorAll('.your-class'); if (elements.length > 0) { // 元素存在,继续操作... } else { console.log('未找到指定的元素'); } ``` - **验证选择器正确性**:确认使用的 CSS 选择器是正确的,并且与页面上的元素匹配。可以通过浏览器开发者工具中的“元素”面板来测试选择器的有效性。 - **更新禁用问题插件**:如果是由于某个特定插件引起的错误,尝试更新该插件到最新版本,者暂时禁用它看看问题是否解决。 - **清除缓存和重新安装插件**:有时候旧的缓存文件可能导致兼容性问题,清理 Obsidian 缓存并重新安装受影响的插件可能会有所帮助。 - **查看官方论坛和 GitHub Issues**:对于 Obsidian 社区插件,经常可以在其项目的 GitHub 页面 Obsidian 官方论坛找到关于类似问题的讨论和潜在修复方案。 如果你正在开发一个插件并且遇到了这个问题,建议你在调试过程中充分利用浏览器的开发者工具,例如设置断点、监视变量等,以便更准确地定位问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值