Reference TypeScript编译器未使用tsconfig.json?
我是打字新手。我正在尝试设置它在WebStorm中的使用。 我在项目的根目录中创建了一个tsconfig.json文件,并将内置ts编译器更改为1.6.2版。 我仍然需要在每个ts文件中包含引用路径。我希望一旦定义了tsconfig.json文件,就不再需要它了 我试图隔离这个问题,并在WebStorm之外进行测试。问题仍然存在。 这是我的设置: 我用“npm安装-g TypeScript”安装了TypeScript。 我创建了一个具有以下结构的文件夹:Reference TypeScript编译器未使用tsconfig.json?,reference,typescript,typescript1.6,tsconfig,Reference,Typescript,Typescript1.6,Tsconfig,我是打字新手。我正在尝试设置它在WebStorm中的使用。 我在项目的根目录中创建了一个tsconfig.json文件,并将内置ts编译器更改为1.6.2版。 我仍然需要在每个ts文件中包含引用路径。我希望一旦定义了tsconfig.json文件,就不再需要它了 我试图隔离这个问题,并在WebStorm之外进行测试。问题仍然存在。 这是我的设置: 我用“npm安装-g TypeScript”安装了TypeScript。 我创建了一个具有以下结构的文件夹: test\ tsconfig.jso
test\
tsconfig.json
src\
file1.ts
file2.ts
file2.ts使用在file1.ts中创建的类
当我在src文件夹中运行“tsc file2.ts”时,我得到一个:
C:\data\tryout\tsconfig\src\file2.ts(11,20): error TS2095: Could not find symbol 'TodoCtrl'.
要让编译器自动查找所有ts文件,我需要做什么
文件1.ts:
module todos {
'use strict';
export class TodoCtrl {
constructor() { }
onTodos() {
console.log('ok');
}
}
}
文件2.ts:
// does work with ///<reference path='file1.ts' />
module todos {
'use strict';
export class DoneCtrl {
constructor() { }
onDone() {
var test = new TodoCtrl();
}
}
}
我把所有的东西都放在拉链里了:
运行
tsc src\file2.ts
将只使用src\file2.ts
作为输入
在没有输入文件的目录中运行tsc
,以使用tsconfig.json
,并输入目录和子目录中的所有.ts
文件
至于为什么tsc src\file2.ts
不起作用。您的引用缺少斜杠
/
应该是:
//
我不确定这是否与您的工作相关,但您的zip包含一个空tsconfig.json。
我用一些选项填充了它,并且实际上能够从命令行和编辑器进行编译
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"rootDir": ".",
"outDir": ".",
"sourceMap": false
},
"filesGlob": [
"./src/*.ts"
]
}
我希望这能把你带到某个地方。我曾经//在评论中提到过。它与引用一起工作,但我不想使用引用。如果我在没有任何参数的源文件夹中发布tsc,我只会获取tsc的使用信息。没有编译。我下载了你的ZIP。那里只有两个斜杠。运行
tsc-v
。我猜您正在调用的是较旧的tsc.exe
,而不是npm的tsc.cmd
。
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"rootDir": ".",
"outDir": ".",
"sourceMap": false
},
"filesGlob": [
"./src/*.ts"
]
}