雑多なことの雑多な切り抜き

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は必ずファイルの一番上に書く必要があります。

構文だからね。