我是TypeScript的新手。我试图在WebStorm中设置它的使用。 我在项目的根目录中创建了一个tsconfig.json文件,并将内置编译器更改为1.6.2版。 我仍然需要在每个ts文件中包含引用路径。我希望在定义tsconfig.json文件后不再需要这个。
我试图隔离这个问题并在WebStorm之外进行测试。问题仍然存在。 这是我的设置: 我用“npm install -g typescript”安装了TypeScript。 我创建了一个具有以下结构的文件夹:
test\
tsconfig.json
src\
file1.ts
file2.ts
file2.ts使用在file1.ts中创建的Class。
当我在src文件夹中运行“tsc file2.ts”时,我得到一个:
C:\data\tryout\tsconfig\src\file2.ts(11,20): error TS2095: Could not find symbol 'TodoCtrl'.
我需要做些什么才能使编译器自动查找所有ts文件?
file1.ts:
module todos {
'use strict';
export class TodoCtrl {
constructor() { }
onTodos() {
console.log('ok');
}
}
}
file2.ts:
// does work with ///<reference path='file1.ts' />
module todos {
'use strict';
export class DoneCtrl {
constructor() { }
onDone() {
var test = new TodoCtrl();
}
}
}
结果:
error TS2095: Could not find symbol 'TodoCtrl'.
我已将所有内容放入拉链: https://www.dropbox.com/s/o4x52rddanhjqnr/tsconfig.zip?dl=0
答案 0 :(得分:1)
正在运行tsc src\file2.ts
只会使用src\file2.ts
作为输入。
在没有输入文件的目录中运行tsc
,以便使用tsconfig.json
,并在目录和子目录中输入所有.ts
个文件。
至于为什么tsc src\file2.ts
不起作用。您的参考文献缺少斜线。
// <reference path='file1.ts' />
应该是:
/// <reference path='file1.ts' />
答案 1 :(得分:1)
我不确定这是否与您的工作相关,但您的zip包含空的tsconfig.json。 我填写了一些选项,实际上可以从命令行和编辑器进行编译。
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"rootDir": ".",
"outDir": ".",
"sourceMap": false
},
"filesGlob": [
"./src/*.ts"
]
}
我希望这能带你到某个地方。