Open3
書籍"実践Node.js入門"から参考になった事まとめ
![kata](https://res.cloudinary.com/zenn/image/fetch/s--l1RvN972--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/0cb4f96471.jpeg)
- 以下の書籍から、参考になった部分をまとめていく
![kata](https://res.cloudinary.com/zenn/image/fetch/s--l1RvN972--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/0cb4f96471.jpeg)
1章
- Node.jsは基本的にシングルスレッドだが、同時に複数のリクエストを処理できる
- Non-Blocking I/O(一つの入出力の"出力"を待たずに、次の入出力を行う)
- 下記URLを紹介していたコラムが参考になった
- Node.js は CommonJS と ES モジュール システムの両方をサポートしている (Node.js v12 以降)
- ES モジュールについて先にブラウザから実装されたものと思っていたが、元々はNode.jsから実装されたものだったのか
![kata](https://res.cloudinary.com/zenn/image/fetch/s--l1RvN972--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/0cb4f96471.jpeg)
2章
Common JS moduleとECMAScript module
- .cjsのファイルはCommon JS module
- .mjsのファイルはECMAScript module
- 併用も可能ではあるが、なるべく避けた方がいいらしい
Dynamic Import
- 式(import())を呼び出したタイミングで”初めて”モジュールを読み込む仕組み
- ネットワークの通信コストを下げることができる
import('./calc.mjs')
.then((module) => {
console.log(”呼び込みました")
})