2015-05-02 39 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