LoginSignup
0
0

More than 3 years have passed since last update.

TypeScriptを学んだ(2) ~モジュール編~

Posted at

前編は、TypeScriptを学んだ(1) ~型、クラス編~

内部モジュール

コードを部品化してわかりやすく整理したりだとか、変数名とかクラス名の衝突を避けたりするために使用する。


module UserModule {                 // モジュール定義
  export var name = "John";         // モジュールの外部からアクセスするにはexportを使う
  export module AddressModule {
    export var zip = "111-111";
  }
}

// dotアクセス
console.log(UserModule.AddressModule.zip);

// もしくはimportを使い、、
import addr = UserModule.AddressModule
console.log(addr.zip);

また、複数のファイルに別れており、別ファイルを読み込む必要がある場合には、ファイルの最初に

main.ts

/// <reference path = "./user.ts" />
...

これらをコンパイルして一つのファイル(all.js)に書き出したい場合には、コンソールで$ tsx main.ts --out all.jsを実行すれば良い。

外部モジュール

user.ts
module UserModule {
  export var name = "John";
}
main.ts
import User = require("./user") // 拡張子はいらない
console.log(User.name);         // モジュールにはimport時の変数からアクセス

// Node JS でよく使われる CommonJS形式でのコンパイル方式
$ tsx main.js -m commonjs


// RequireJSなどで使われる AMD と呼ばれるコンパイル方式
$ tsx main.js -m amd

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0