2015-08-25 43 views
1

Typescript 1.5增加了对tsconfig.json配置文件的支持,其中可以指定诸如编译器选项之类的内容。tsc 1.5是否仍然需要--module标志?

下面是来自blog post announcing 1.5一个妙语:

编译器现在支持“tsconfig.json”,一个新的文件,它允许你 指定项目中的文件和编译器设置使用。

这让我觉得,将--module标志添加到编译器将不再是必要的。但是,试图编译一个简单的文件导出一个类,我得到这样的:

tsctest.ts(1,14): error TS1148: Cannot compile modules unless the '--module' flag is provided. 

当运行tsc--module commonjs一切工作正常。

这里的TS文件:

//tsctest.ts 
export class Empty { 
} 

而这里的tsconfig.json

{ 
     "compilerOptions": { 
       "target": "ES5", 
       "module": "commonjs" 
     } 
} 

我的打字稿版本1.5.3是,tsctest.tstsconfig.json住在同一个文件夹中。

回答

1

按照documentation

当输入文件的命令行上指定,tsconfig.json文件将被忽略。

运行tsc没有指定任何输入文件,它会正常工作。

4

打字稿提供两种方式与模块 1.内部模块 2.外部模块

在旅行时工作的第一个选项通常用于打破跨不同.ts文件一个打字稿模块(通过它可以使用一个一个.ts文件中的.ts文件在同一模块中的一个组件,没有任何显式的导入语句),第二个选项用于通常从可用的库中显式导入模块。它是您必须为模块参数提供TypeScript编译器的外部模块。

因此,在您的代码中,您使用的导出语法是第一个选项(内部模块),您必须将其代码放入模块块中。

您可以参考documentation

编辑:这个article解决了使用模块时发生的常见疑问。

相关问题