らいちのヒミツ基地

公然のひみつ基地です

MENU

JavaScriptエラー「Uncaught SyntaxError: Unexpected token '<'」の原因と対処法

JavaScriptで開発していると突然現れるエラー「Uncaught SyntaxError: Unexpected token '<'」に戸惑ったことはありませんか?これは意外と単純なリンクミスが原因で発生することが多いエラーです。


どんなエラー?

通常、Uncaught SyntaxError: Unexpected token エラーは、コード内で閉じタグや括弧の閉じ忘れなど、文法ミスがある場合に表示されます。しかし、'<' という文字が問題となる場合、少し異なる原因が考えられます。

「'<'って何?そんなタグ使ってないぞ?」と思ったら、次のポイントを確認しましょう。

主な原因

JavaScriptのリンクエラー
  • 拡張子の抜け落ち:scriptタグで参照しているファイルの拡張子が抜けていると、ブラウザが正しく読み込めません。
  • ファイル名の間違い :小さなスペルミスも見逃さないように確認しましょう。
  • パスの間違い:ファイルが指定したパスに存在しない場合、HTMLファイルが読み込まれてしまい、'<'が最初に現れるためエラーとなります。
全然別の理由

webpackの振る舞いなどでJavaScriptのリンクが正しくても起こり得るエラーです。

github.com


以上のような理由で
「Uncaught SyntaxError: Unexpected token '<'」
が吐かれます。

対処方法

  • リンク先の確認: scriptタグのsrc属性を再確認。
  • ブラウザの開発者ツールで確認:ネットワークタブでリソースが正しく読み込まれているか確認。
  • ファイルの存在確認:サーバー上にファイルが正しい場所に配置されているか確認。
  • baseタグの追加:webpack由来のエラーの場合はindex.htmlのheadタグ内に
    <base href="/" />
    追加すると解決するそうです。

原因がなんとなくわかれば対処方法もおのずと見えてきますね!

まとめ

このエラーはシンプルなミスが原因のことが多いので、慌てずに一つずつ確認することが大切です。
うっかりミスをしがちな全ての開発者、そして未来の私自身への備忘録として、この記事を書きました。

JavaScript 第7版

JavaScript 第7版

Amazon

楽しいJavaScriptライフを。


それではまた!さよならいち!・∀・)ノ