【发布时间】:2016-02-25 17:42:50
【问题描述】:
我正在尝试使用内部模块将我的打字稿类分隔在单独的文件中。但是,main.ts 文件不会加载或识别子模块。
main.ts
/// <reference path="Car.ts" />
module Vehicles {
var c = new Vehicles.Car("red");
}
car.ts
module Vehicles {
export class Car {
color: string;
constructor(color: string) {
this.color = color;
console.log("created a new " + color + " car");
}
}
}
tsconfig.json
{
"compilerOptions": {
"sourceMap": true,
"out": "everything.js main.ts car.ts"
}
}
更新:编辑 tsconfig 中的“out”标志以尝试将 main.ts 和 car.ts 编译为 Everything.js - 这是最后一个不起作用的部分:everything.js 是未创建。相反,VS Code 创建了一个 main.js 和一个 car.js。似乎“out”标志被忽略了。我也尝试过“outFile”,结果相同。
【问题讨论】:
-
您的
out错误。module前面应该只是"outFile": "main.js". Try to addexport`。 -
另外,编译器还是会创建一个“car.js”文件,这应该不是必须的吧?
-
您的编辑可能会创建
car.js,但这不是主要问题。请将生成的main.js的内容也贴出来。 -
嘿,它现在似乎工作了!我终于可以从单独的文件中包含内部模块了。感谢所有的帮助!显然,我什至可以省略 tsconfig.json 中的“文件”选项。现在唯一的问题是 TS 文件还没有拼接成一个大的 JS 文件。
-
是的,
files不是必需的。我不使用该选项。我们使用gulp-typescript来编译.ts文件,因为我们可以增量编译代码,这样会更快。
标签: json typescript