#49 JavaScriptの学習 インポートエラー

プログラミング プログラミング

「Uncaught SyntaxError SyntaxError: Cannot use import statement outside a module」というエラーが出ました。インポートしてコンソールテストしている最中に。解決しましょう。

使用しているファイルは3つです。
インポート元の「import2.js」
コンソールテストを行う、インポート先の「import1.js」
コンソールテスト用の「console-test.html」

import2.js

  1. class Words {
  2.     japan() {
  3.         console.log('こんにちは日本');
  4.     }
  5. }
  6. export default Words

このファイルの「Words」クラスをエクスポートします。

import1.js

  1. import Words from "./import2.js";
  2. const greet = new Words;
  3. greet.japan();

「Words」クラスをインポートして、「greet」に代入したインスタンスを作成しました。そして、「japan()」を呼び出せば’こんにちは日本’とコンソールされると思っていました。

console-test.html

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4.     <title>test</title>
  5. </head>
  6. <body>
  7.     <script src="./import1.js">
  8.     </script>
  9.     <p>コンソール出力テスト</p>
  10. </body>
  11. </html>

結果は
Uncaught SyntaxError SyntaxError: Cannot use import statement outside a module

調べてみると簡単に解決しました。ホントに簡単です。「console-test.html」ファイルの<script>の属性に type=”module”を加えれば良いのです。

console-test.html

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4.     <title>test</title>
  5. </head>
  6. <body>
  7.     <script src="./import1.js" type="module">
  8.     </script>
  9.     <p>コンソール出力テスト</p>
  10. </body>
  11. </html>

これで解決です!

関連記事
他のエラーもみてみよう

コメント

  1. […] 関連記事 JavaScriptでインポートエラーの対処法 […]

  2. […] 関連記事 JavaScriptのexportとimportの基本 絶対に解決したいJavaScriptのインポートエラー […]