1. 모듈
1. export
- ES6의 export와 같은 방식으로 변수, 함수, 타입, 인터페이스 등에 붙여 사용한다.
2. import
- ES6의
import
와 동일한 방식으로 사용한다.
import { WheatBeerClass } from "./index.ts";
class Cloud extends WheatBeerClass {
// ...
}
3. 타입스크립트의 모듈 코드 변환
tsconfig.json
파일에 설정한 컴파일러 모드에 따라 모듈 코드가 각기 다르게 변환된다.
import m = require("mod");
export let t = m.something + 1;
define(["require", "exports", "./mod"], function (require, exports, mod_1) {
exports.t = mod_1.something + 1;
});
var mod_1 = require("./mod");
exports.t = mod_1.something + 1;
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === "function" && define.amd) {
define(["require", "exports", "./mod"], factory);
}
})(function (require, exports) {
var mod_1 = require("./mod");
exports.t = mod_1.something + 1;
});
System.register(["./mod"], function (exports_1) {
var mod_1;
var t;
return {
setters: [
function (mod_1_1) {
mod_1 = mod_1_1;
},
],
execute: function () {
exports_1("t", (t = mod_1.something + 1));
},
};
});
- 타입스크립트 컴파일 명령어를 입력할 때 컴파일러 모드를 부여할 수 있다.
# commonjs 모드인 경우
tsc --module commonjs Test.ts
# amd 모드인 경우
tsc --module amd Test.ts
References