You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Tauri应用读取外部配置文件?请求排查权限报错问题

解决Tauri读取外部配置文件的权限问题

问题根源

你用fetch读取本地配置文件时触发的报错,是因为fetch属于Web标准API,受Tauri的**内容安全策略(CSP)**限制,而非fs.scope配置。fs.scope是给Tauri官方提供的fs API(如readTextFile)做权限控制的,和fetch的资源加载规则不相关。

推荐解决方案:改用Tauri的fs API

直接使用Tauri提供的文件读取API,完全适配fs.scope的权限配置,代码示例:

import { appConfigDir } from '@tauri-apps/api/path';
import { readTextFile } from '@tauri-apps/api/fs';

// 读取配置文件
const configFilePath = `${await appConfigDir()}symbol-sets.json`;
const configContent = await readTextFile(configFilePath);
// 解析为JSON对象
const symbolSets = JSON.parse(configContent);

这种方式不需要修改额外配置,你的tauri.conf.json中fs部分的配置已经足够:

"tauri": {
  "fs": {
    "readFile": true,
    "scope": ["$APPCONFIG/*"]
  }
}

备选方案:放宽CSP以支持fetch(不推荐)

如果一定要保留fetch方式,需要修改tauri.conf.json中的security.csp,允许加载本地文件资源。但这种做法会降低应用安全性,仅作参考:

"tauri": {
  "security": {
    "csp": "default-src 'self'; connect-src 'self' file://*; img-src 'self' file://*; media-src 'self' file://*; script-src 'self'; style-src 'self' 'unsafe-inline'"
  },
  "fs": {
    "readFile": true,
    "scope": ["$APPCONFIG/*"]
  }
}

内容的提问来源于stack exchange,提问作者padeso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 11:01:06