NextJS build error - ReferenceError: navigator is not defined

NextJS build error - ReferenceError: navigator is not defined

我在尝试构建一个简单的 NextJS 应用程序(使用 npm run build)时 运行 遇到了这个特殊的错误消息:

> Build error occurred
ReferenceError: navigator is not defined
    at /cdk-next/next-frontend/node_modules/codemirror/lib/codemirror.js:18:19
    at /cdk-next/next-frontend/node_modules/codemirror/lib/codemirror.js:11:83
    at Object.<anonymous> (/cdk-next/next-frontend/node_modules/codemirror/lib/codemirror.js:14:2)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/cdk-next/next-frontend/node_modules/easymde/src/js/easymde.js:2:18) {
  type: 'ReferenceError'
}
info  - Collecting page data .

我不知道 codemirror 是谁,也不知道为什么它不让我构建我的项目。通过阅读,我发现当尝试在服务器端而不是客户端构建项目时,NextJS 会出现此问题,因为该项目无法访问 window 或导航器。那样的话,我该怎么办?我遵循的教程似乎可以轻松完成这一步,所以我应该只看一下他们的 package.json 并降级我所有的包吗?如有任何建议,我们将不胜感激。

我导入 import SimpleMDE from "react-simplemde-editor" 时出现错误(位于上述回购 link 的 create-post.js 中)。

我在这里实现了modikum提出的解决方案:https://github.com/dabit3/next.js-amplify-workshop/issues/21.

现在项目构建成功。