繁体   English   中英

对于 next.js,为什么我突然开始看到找不到模块:错误:无法解析“fs”?

[英]With next.js, why did I suddenly start seeing Module not found: Error: Can't resolve 'fs'?

我什么也没改变,但我正在使用"next": "9.4.4" ,我看到:

Module not found: Can't resolve 'fs' in 'web/node_modules/graceful-fs'
Could not find files for /app/d/[id] in .next/build-manifest.json
ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in 'web/node_modules/graceful-fs'

我做错了什么?

看起来您不在/api目录中。 客户端代码将无法导入fs ,只有 API 文件将

npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.

对我来说,问题似乎是我正在运行 Node 14.7.0。 我在构建以下 NextJS 客户端时收到的警告表明这是问题所在。

{
      "name": "client",
      "version": "1.0.0",
      "description": "Serverside rendered React client with NestJS",
      "main": "index.js",
      "scripts": {
        "dev": "next"
      },
      "keywords": [],
      "author": "Will Nielsen",
      "license": "ISC",
      "dependencies": {
        "@nielsendigital/ms-common": "^1.1.17",
        "axios": "^0.20.0",
        "bootstrap": "^4.5.2",
        "next": "^10.0.2",
        "react": "^17.0.1",
        "react-dom": "^17.0.1",
        "react-stripe-checkout": "^2.6.3"
      }
    }

我不清楚如何在 NextJS 中将 fsevents 升级到 v2。

您的组件可能在客户端呈现。 检查您假设在服务器上呈现的位置( getStaticProps / getServerSideProps )是否可能正在滋润您的组件并尝试运行您认为应该在服务器上实际运行在客户端上的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM