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

Node.js运行报错Can't resolve 'fs' 修改package.json依赖后还需什么操作

解决方案

fs是Node.js内置的原生核心模块,你在依赖中安装的fs@0.0.1-security是官方发布的占位包,没有任何实际功能,首先需要先移除这个无效依赖。

第一步:移除错误依赖

执行命令:

npm uninstall fs

你也可以手动删除package.json中"fs": "^0.0.1-security"这行配置,之后删除node_modules文件夹和package-lock.json/yarn.lock文件,重新执行npm install安装依赖。

第二步:根据你的运行场景处理后续问题

场景1:开发纯Node.js后端服务

  • 确认你本地安装的Node.js是官方维护的正常LTS版本,执行node -v即可查看版本,原生Node环境默认支持fs模块,无需额外配置。
  • 如果你使用TypeScript开发,需要安装Node.js内置模块的类型声明包:
    npm install -D @types/node
    
  • 检查tsconfig.json中的配置,确认compilerOptions.module没有配置为仅浏览器端可用的规范,target适配你运行的Node.js版本即可。

场景2:开发前端项目,用webpack/vite等打包工具打包时报错

浏览器运行环境本身没有fs模块,出现这个报错说明你项目中错误地在前端执行路径引入了需要fs能力的代码,按以下方式处理:

  • 先排查代码,确认是否把仅服务端可用的逻辑写到了前端入口中,把调用fs的逻辑迁移到服务端侧即可解决。
  • 如果你明确该依赖仅在服务端渲染/构建阶段执行,需要配置打包工具将fs标记为外部依赖:
    • webpack配置(webpack.config.js):
      module.exports = {
        // 其余配置不变
        node: {
          fs: 'empty'
        }
        // webpack 5+ 版本使用以下配置替代
        // externals: {
        //   fs: 'commonjs fs'
        // }
      }
      
    • vite配置(vite.config.js/ts):
      export default defineConfig({
        // 其余配置不变
        ssr: {
          external: ['fs']
        }
      })
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:27:04