みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Node.jsでimport・exportを使う 💻

f:id:kimizuka:20210910222258p:plain

Node.jsで普通にimportを使おうとすると、

SyntaxError: Cannot use import statement outside a module

と怒られます。

いままではおとなしくrequireを使ってきましたが、世間はもう2021年。子供の頃思い描いていた未来です。
そう。流石にimportを使いたいので、ヒントを探していたところ、

Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

一緒にこんなメッセージが表示されていることに気づきました。

どうやら2つ解決策があるようです。

❶ package.jsonに"type": "module"を追加する

package.json

{
  "type": "module"
}

と、package.jsonに"type": "module"を追加したところ、確かにエラーは消えました。

❷ import、exportを使いたいファイルの拡張子をmjsにする

index.js → index.mjs という感じで拡張子を変更しても、確かにエラーは消えました。


electronでアプリを作ったりするとき、ずーっとrequireを使ってきたんですが、今後はimportを使おうと思いました。