月間18,000PV達成! 収益は毎日発生中! 記事は毎日更新中! 東京でエンジニア武者修行中! ギランバレー症候群に関する情報を集めています

Angularの「global is not defined」エラー対処法!

Angularの「global is not defined」エラー対処法!
Advertisement

 

Angular7で開発中のことです。以下のようなエラーが出ました。

Uncaught ReferenceError: global is not defined」。

殺意が芽生えますが、いったん落ち着いて対処法を検討してみました。

 

 

僕の環境

OS:Windows10

Angularバージョン:7

 

 

 

「Uncaught ReferenceError: global is not defined」エラーとは?

僕の場合だと、「Angular×Cognito」の処理を実装するために、以下に記載のライブラリを入れておかしくなりました。

・amazon-cognito-identity-js

・aws-sdk

 

 

「Uncaught ReferenceError: global is not defined」エラーの内容

実際に出たエラーの内容です。

 

 

「Uncaught ReferenceError: global is not defined」に対処するには

global is not defined」を直訳すると、「globalが定義されていない」となります。

つまり、globalをどこかしらに定義してあげればよいわけですね。

globalってなんだよ。

 

 

「polyfills.ts」に「global」を定義する

Angularアプリのルートに「polyfills.ts」というファイルがあります。

このファイルの最後に「(window as any).global = window;」を記載します。

これでエラーが消えます。ちゃんちゃん。

 

 

Advertisement

 

「Buffer is not defined」と出たら

ついでですが、「Buffer is not defined」というエラーが出ることもあります。

これも同じく「polyfills.ts」の最後にBufferを定義してあげれば解決します。

これで完璧。

 

 

おすすめ本

Angularの勉強をするならこの2冊がおすすめです!

 

 

 

 

まとめ

Angularはバージョンがコロコロ変わるせいで、よからぬエラーが出たりしますね。

殺意しか生まれませんが、落ち着いて考えたらそんなに難しいことでもありません。

今回も2行ほどしか追加してないですからね。

日々勉強です。

Travelerを知らないの?