web-dev-qa-db-ja.com

NextJS-ウィンドウが定義されていません

NextJSプロジェクトに Typewriter Effect をインポートしようとしていますが、インポートすると、次のようなエラーが表示されます。

ReferenceError:ウィンドウが定義されていません

そして私が読んだことから、エラーはクライアント側ではなくサーバー側でライブラリをロードしようとしているために表示されています。

だから私は単にそれを次のようにインポートしようとすると:

import Typewriter from 'typewriter-effect'

エラーはすぐに表示されます。

人々は私がこのようなことを試みることを提案しました:

let Typewriter
if (typeof window !== 'undefined') {
  Typewriter = require( 'typewriter-effect' )
}

ただし、この方法でも機能しません。次のようなエラーが表示されます。

要素タイプが無効です:文字列(組み込みコンポーネントの場合)またはクラス/関数(複合コンポーネントの場合)が必要ですが、取得できません:未定義。

私は多くの場所でこの問題の潜在的な解決策を探しましたが、私の試みは失敗しました。

7
Student22

requireオプションは機能するはずですが、これはデフォルトのインポートの問題だと思います、

ESMでは、これはデフォルトインポートです。 _import Typewriter from 'typewriter-effect'_

同等の「必要」は次のとおりです:Typewriter = require( 'typewriter-effect' ).default;

0
felixmosh