esbuild関係。
https://qiita.com/rkamikawa/items/7c6210fc97aaf8878536 から:
ビルドツールには、esbuild の他に、Webpack、Gulp、Parcel、Rollup、Browserify、FuseBox などがあります。
はっ? ビルドツールって??
JIT コンパイルを使用するため、速度が遅い。
?
昨今のPCは、複数のメモリを持っているため、効率的に並列処理を行える。
複数のメモリ?
import * as React from 'react'
古典的なインポート手法かな。別にいいけど。
https://zenn.dev/yuichkun/articles/b514808e182a8e から:
tsconfig.jsonでisolatedModules を有効にする必要がある
うれしくないが、しょうがない。
以下は サポートされない
- emitDecoratorMetadata
TSの型情報に依存した出力が必要なため- const enum
コンパイル時に普通の enum に変換される
ふむ。
const { build } = require('esbuild')
これは名前をインポートしたような結果になるのか。
https://typescriptbook.jp/reference/import-export-require から:
スクリプトは普通のJavaScriptファイルです。
実行系のグローバル空間で実行される、ってことだと思う。
それはモジュールファイルになります。
モジュールは、隔離された独自の空間で実行される。明示的な export しないと、外部から名前が見えない。デフォルトがプライベート。明示的な import しないと外部の名前は見えない。グローバル空間は見えている。
const package1 = require("package1");
モジュールじゃなくて、パッケージをロードするという発想なのね。
指定したパスがディレクトリで、その中にindex.js(index.ts)があれば、ディレクトリの名前まで書けばindex.js(index.ts)を読み込んでくれます。
今じゃ疫病神。
const { increment } = require("./util");
分割代入。
importは必ずファイルの一番上に書く必要があります。
構文だからね。