タグ

nodejsとesmに関するopparaのブックマーク (4)

  • Node.js における ES Modules を理解する - 30歳からのプログラミング

    記事執筆時点での最新版の Node.js では、モジュールシステムとして ES Modules を使うことができる。 また、CommonJS で書かれたモジュールを ES Modules で読み込むこともできる。 Node.js のモジュールシステムは複雑すぎて苦手意識があったので、整理した。 この記事の内容は、Node.js のv14.7.0で動作確認している。 Node.js のモジュールシステムはバージョン毎に挙動が大きく変わるので、注意が必要。 そのファイルは CJS なのか ESM なのか Node.js で使えるモジュールシステムとして、ES Modules(以下、ESM)の他に CommonJS(以下、CJS)があり、CJS がデフォルトになっている。 Node.js におけるモジュールシステムを理解するためにはまず、Node.js が各ファイルをどのモジュールシステムとして

    Node.js における ES Modules を理解する - 30歳からのプログラミング
  • ES Modules形式をCommonJS形式でも利用できるようにする - Qiita

    YAMAP エンジニア Advent Calendar 2019 の12日目になります。 YAMAPで、フロントエンドエンジニア?として活動中の @issyxissy です。 フロントエンドエンジニアと言っても、他にもいろいろなことやっています。 YAMAPでは、Nuxt.js + Vue.jsを使ったフロントエンドの開発を行っています。 ( https://yamap.com をみていただければと〜) 最近、ちょっと悩んだことがあって、解決できたので、まとめてみました。 ケース Node.js と Vue.jsで、共通関数を使いたい・・・ 問題 Node.jsは、CommonJS 形式 (module.exports / require() ) Vue.js (ブラウザ環境) は、 ES Modules 形式 (export / import ) となるため、 共通関数をES Modul

    ES Modules形式をCommonJS形式でも利用できるようにする - Qiita
  • # CommonJS と ES6の import/export で迷うなら - Qiita

    はじめに いつもはes6のモジュール管理方式であるimport/export(ES modules)を使って、npmで手に入れたライブラリや自分で作成したモジュールをロードしているが、たまに思った挙動にならないことがある。また、export defaultしたモジュールをテストしようとしてkarmaでrequire()するとエラーになったりした。そういう場合は、とりあえずmodule.exportsを使ってみるとうまくいったりすることが多いのだが、なぜなのかはあまり考えていなかった。 ということで、実際にはどうなっているのか、またモジュールシステムとは何なのかという点で基的なことから理解を深めて、es6のimport/exportとの違いを知り、より正しく実装できるようになれば良いと思っている。 結論としては 方針としては基的にはES6形式で記述するが、CommonJS形式の読み書きが

    # CommonJS と ES6の import/export で迷うなら - Qiita
  • Node.jsライブラリ/ツールをESMに移行する[Node.js 12+]

    パッケージの移行 パッケージをESMなパッケージとして明示する方法は2つ .mjs の拡張子を使う package.json の type フィールドに module の値を設定する 基的にパッケージ単位で移行すると思うので、後者の package.json の "type": "module"を設定する。 この設定をすると、パッケージ内のJavaScriptがモジュールのコンテキストで実行されるようになる。 モジュールでは常にstrict modeとなり、Node.jsのESMではrequire、exports、__dirname、__filename などが利用できなくなる。 代わりに、ES2015+のimportとexport文がモジュール構文として利用できるようになる。 JavaScript モジュール - JavaScript | MDN Differences between

    Node.jsライブラリ/ツールをESMに移行する[Node.js 12+]
  • 1