Taro + Vite 开发中 fs.allow 配置问题分析与解决

在使用 Taro 官方脚手架初始化项目并选择 Vite 作为构建工具后,运行 npm run dev:h5 时可能会遇到如下报错:

javascript 复制代码
Failed to load url /app.ts (resolved id: D:/***/***/src/app.ts) in D:/***/***/src/app.config.ts. Does the file exist?
The request url "D:******\src\app.ts" is outside of Vite serving allow list.
- D:/***/***/node_modules/vite/dist/client

该错误是由于 Vite 开发服务器默认的安全策略限制所致,即不允许访问项目根目录之外的文件。尽管官方文档建议在 vite.config.ts 中通过 server.fs.allow 配置允许访问的路径,但在 Taro 项目中直接这样做往往无效。

根本原因 :

Taro 项目若选用 @tarojs/vite-runner 作为编译器,并不会直接读取项目根目录下的 vite.config.ts,而是通过 Taro 自身的配置体系管理 Vite 行为。

解决方案 :

需在 Taro 的配置文件 /config/index.ts 中针对 H5 模式进行如下配置:

css 复制代码
h5: {
  devServer: {
    fs: {
      allow: ['..'], // 允许向上访问父级目录
    },
  },
  // 其他原有配置...
}

注意事项 :

该方法仅适用于在创建脚手架时选择 Vite 作为构建工具的情况。若使用的是 Webpack,可参考类似思路调整 devServer 配置,或查阅 Taro 官方文档进行相应设置。

通过以上调整,可解决因 Vite 安全策略导致的文件访问限制问题,确保开发服务器正常启动。

相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95275 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大5 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师5 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学5 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端