2022-11-04から1日間の記事一覧

TypeScriptのCJSモジュール

グローバルモジュールと内部モジュール〈名前空間〉は述べた。 TypeScriptグローバルモジュール - (新) 檜山正幸のキマイラ飼育記 メモ編 TypeScript内部モジュール - (新) 檜山正幸のキマイラ飼育記 メモ編 CJSモジュールも僕は使いたくはないが、実際はま…

HTML scriptタグとモジュール

コードが書いてあるファイルへの参照と、コードのインライン埋め込みが同じタグだったのは気にいらないが、それを言っても詮無いこと。 参照なら: src 属性を付けて要素内容は空。 埋め込みなら: src 属性を付けずに、要素内容に書く。 nomodule属性(存在…

TypeScript内部モジュール

今は「名前空間〈namespace〉」に変わり、これも推奨はされてないようだが、内部モジュールという仕掛けもある。グローバルモジュール(include方式)も内部モジュールも、ESM以前のナンチャッテモジュールのメカニズムを採用している。手動で書いていた var…

TypeScriptグローバルモジュール

モジュールロード/非モジュールロード - (新) 檜山正幸のキマイラ飼育記 メモ編 の続き。今は非推奨の古い方式だが、TypeScriptのimport構文もどきがある。 /// <reference path="lib-foo.ts"> /* main.ts */ C言語の include に近い。コンパイル時に lib-foo.ts の内容が見える。一応、</reference>…

モジュールロード/非モジュールロード

古い方式: <script src="lib-common.js"> <script src="lib-foo.js"> <script src="lib-bar.js"> <script src="main.js"> 直接的依存関係は(仮定): main → lib-foo main → lib-bar lib-foo → lib-common lib-bar → lib-common scriptタグの並びを見ても依存方向/依存可能性は分かるが、ほんとの依存関係は分からない。次のようにすればハッキリする。 main で …

scriptタグとモジュール/非モジュール

古いブラウザには読ませない、モジュールロード構文 : <script type="module" src="パス"></script> 新しいブラウザには読ませない、非モジュールロード構文 : <script nomodule src="パス"></script> 新旧共通の非モジュールロード構文: <script src="パス"></script> モジュールコードはモジュールオブジェクト=関数フレーム(スタックではなくヒープだが)内で実行…