我有一个简单的 hello world 文件test.ts
,其内容如下:
export class Hello {
constructor() {
console.log("hello world!");
}
}
当我运行命令tsc test.ts --module amd --out bla.js
时,test.js
会创建一个包含正确内容的文件,但bla.js
也会创建一个空文件。
我希望test.ts
将bla.js
. 是什么导致了这种行为?
我有一个简单的 hello world 文件test.ts
,其内容如下:
export class Hello {
constructor() {
console.log("hello world!");
}
}
当我运行命令tsc test.ts --module amd --out bla.js
时,test.js
会创建一个包含正确内容的文件,但bla.js
也会创建一个空文件。
我希望test.ts
将bla.js
. 是什么导致了这种行为?
--out
参数tsc
告诉_
连接并将输出发送到单个文件。
...但是您正在定义一个模块。模块并不意味着在连接的文件中。tsc
生成所有非模块代码的连接文件(你没有,所以是bla.js
空的)和test.js
包含你的test
模块的模块文件()也是如此。
您可以通过.ts
在命令行中添加第二个文件来证明这一点,该文件没有定义模块。您将在 中找到该代码的转译版本bla.js
,并在 中找到您的模块test.js
。如果您添加另一个.ts
定义第二个模块的文件,您会在另一个.js
文件中找到它,并使用其源.ts
文件的名称。
例如,假设你有
Module1.ts
定义一个模块Module2.ts
定义另一个模块Stuff.ts
定义非模块的东西MoreStuff.ts
定义更多非模块的东西...你这样做了:
tsc Module1.ts Module2.ts Stuff.ts MoreStuff.ts --out combine.js --module amd
你最终会得到:
Module1.js
包含为Module1
.Module2.js
包含为Module2
.combined.js
包含从Stuff.ts
和MoreStuff.ts