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

TypeScript版React项目声明edge-js时出现fs.existsSync is not a function错误如何解决

你遇到的报错不是配置问题,是运行环境不匹配导致的:

  • create-react-app创建的是浏览器端运行的前端项目,fs是Node.js服务端专属的原生模块,浏览器环境没有对应实现,调用相关API自然会抛出不存在的错误。
  • edge-js是仅支持Node.js环境运行的库,用于Node.js进程中调用.NET代码,无法直接在浏览器端的React代码中使用。
  • 你安装的node-js依赖是无效的,Node.js是本地运行时环境,不需要通过包管理器安装,可直接执行yarn remove node-js卸载冗余依赖。

场景1:你要开发的是浏览器端网页打印功能

直接删除你新增的两行require代码,使用浏览器原生打印API即可:
触发打印可以直接调用window.print(),如需定制打印内容可以单独设置打印区域的CSS样式。

场景2:你需要调用本地打印机的特殊能力/要调用.NET相关逻辑

两种实现方案可选:

  • 方案1:使用Electron将React项目打包为桌面应用,Electron的主进程为Node.js环境,可以正常使用fs和edge-js,渲染进程(也就是你的React代码)可以通过IPC通信调用主进程封装好的相关能力。
  • 方案2:单独搭建Node.js后端服务,将edge-js相关逻辑封装为接口,前端React项目通过HTTP请求调用后端接口实现对应功能,不要在前端代码中引入服务端专属依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:33:01