2015-05-02 35 views
7

编辑打字稿项目,这是在VisualStudio中创建,在WebStorm将回复此错误:打字稿及webstorm,失踪--module标志

Error:(1, 1) TS1148: Cannot compile external modules unless the '--module' flag is provided.

代码简单这样的:

文件Test.ts提前

class helloWorld{ 

} 

export = helloWorld; 

感谢您的帮助

EDITED

我忘了提及我正在使用MAC。

此外,在我寻求解决方案后,我尝试在VisualStudio Code for Mac中编译Web,并且我也遇到同样的问题,那就是意识到问题不是IDE,而是一些共同点,我没有弄明白。

在fedemp回答这句话触发成才:

One is using the flag at compilation: tsc --module commonjs or --module amd.

所以我去Webstorm的首选项 - >语言&框架 - >打字稿及期权“命令行选项:”我加- 模块amd并完成!

+1

我有完全相同的错误,但在PC上的IntelliJ(几乎与我认为的webstorm相同)14.1.3导入一个在IntelliJ之外工作良好的TS项目后。 通过文件 - >设置 - >语言和框架 - > Typescript并添加 - 模块commonjs到'命令行选项:' – delp

回答

6

选中此:http://www.typescriptlang.org/Handbook#modules-export-这是Typescript的官方文档,关于export =的部分。

当您使用export =时,您正在使用AMD或CommonJS创建要使用的外部模块。这就是编译器抱怨的原因。

根据您的需要,您必须有两个选项。一种是在编译时使用该标志:tsc --module commonjs--module amd。如果你想使用NodeJS或require.js,请使用它。

另一个是export class HelloWorld {...如果你想在另一个打字稿文件中使用你的类。

+0

解决方法感谢联邦,你回答找到解决方案...可以说你是50%是正确的: P 我只是编辑问题以添加更多相关信息以便将来帮助其他人。 – NFRiaCowboy

8

对于那些使用VisualStudio的人,我在VS2015上做了以下工作,错误消失了。

在模块系统部分的解决方案资源管理器 - >属性 - > TypeScript Build(左侧的最后一个选项卡 - 下面的代码分析)中右键单击该项目将None更改为AMD。

+0

为我工作,谢谢你,视觉工作室专业2015年 –

+0

这让我解决了这个问题,但对于未来的访问者选择'AMD'可能不正确的选择,因为它是'系统'我不得不改变它为正确的选择取决于在您用于模块的系统上。我还必须更改'JSX编译'以删除我所有的错误 – ConfusedShark