起動時の引数でしたモジュールを読み込んで関数を呼び出してみる。まー、わざわざ書くほどのものではないんだが。
これで、プラグインみたいなのが作れるってことだな。
test.ts
/// <reference path="./typings/node/node.d.ts" />
var test:any = null;
try {
test = require(process.argv[2]);
} catch(err) {
console.log(err);
}
if(test) {
if(test.print) {
test.print();
} else {
console.log("printメソッドが実装されていません。");
}
}
test1.ts
export function print() {
console.log("test1 !!");
}
test2.ts
export function print() {
console.log("test2 !!");
}
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es5"
},
"files":[
"./test.ts",
"./test1.ts",
"./test2.ts"
]
}
tscでコンパイルする。
node ./test.ts ./test1 と実行すると "test1 !!"と
node ./test.ts ./test2 と実行すると "test2 !!”と表示される。
コメント