使用next.js,为什么突然开始看到找不到模块:错误:无法解析'fs'?

时间:2020-08-13 14:19:56

标签: node.js webpack next.js

我什么都没改变,但是正在使用"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'

我做错了什么?

2 个答案:

答案 0 :(得分:2)

好像您不在/api目录中。客户端代码将无法导入fs,仅API文件将

答案 1 :(得分:1)

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。