2016-10-10 93 views
7

我試圖將Typescript添加到現有的.NET MVC項目中。然而,當我嘗試構建時,我會遇到奇怪的錯誤消息。 Intellisense的作品,我可以看到,類型的作品。我還可以看到手動保存時生成的.js文件,這意味着compileOnSave可以工作。只有當我嘗試構建整個項目時,纔會出現錯誤。Visual Studio 2015 - Typescript「構建:找不到模塊...」

enter image description here

我在Visual Studio 2015年使用以下設置:

  • 已經安裝了打字稿2.0.3

  • 加在我的package.json文件以下devDependencies

enter image description here

  • 我tsconfig文件看起來像這樣

enter image description here

  • 我這是怎麼導入在的package.json文件中指定的依賴關係。

enter image description here

回答

0

安裝在您的NPM的依賴?如果沒有,那麼你應該在你的項目文件夾手動運行npm install命令,或避免這種在將來,您可以通過編輯.njsproj文件上生成自動安裝NPM包到您的項目,線

<Import Project="$(VSToolsPath)\Node.js Tools\Microsoft.NodejsTools.targets" /> 

添加後以下部分:

<PropertyGroup> 
    <PreBuildEvent> 
     npm install --msvs_version=2015 
    </PreBuildEvent> 
</PropertyGroup> 

或者,如果你只希望它重建,則:

<PropertyGroup> 
    <BeforeRebuildEvent> 
     npm install --msvs_version=2015 
    </BeforeRebuildEvent> 
</PropertyGroup> 

--msvs_version=2015命令行選項不是必需的,但如果您使用VS的多個版本或您的npm設置不正確,那麼它可能會有用。

+0

依賴關係安裝正確。我可以在「node_module」文件夾中看到它們。所以很遺憾不是這種情況。 – Victor

+0

然後你可以嘗試設置一個'tsconfig.json'文件;關於如何設置的文檔(https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)。 – ther

+0

正如你在我最初的問題中看到的那樣,我已經設置了一個tsconfig.json,我的參考文檔是Documentation。 – Victor

0

我有一個應用程序,顯示「無法找到模塊」在Visual Studio 2015 [TypeScript 2.0.6]中查看編輯器時的消息 - 但在VSCode中完美運行!

我嘗試了所有在StackOverflow和其他網站上發現的推薦更改,但沒有一個爲我工作。解決了我的問題的更改是從tsconfig文件中刪除'outDir'屬性!我知道原始問題中的代碼不使用outDir屬性,但此答案可能有助於其他人。

此更改對VS2017也是必需的。 我的建議:儘可能使用VSCode! :)

+0

似乎沒有爲我解決它。還有其他建議嗎? – crush

0

我有同樣的問題,並通過安裝npm修復。

npm install

0

我使用RequireJS,需要對模塊系統從CommonJS的改變AMD。在Visual Studio:

  • 權在解決方案資源管理器中單擊項目,在 「屬性」
  • 打字稿構建(上左選項卡)下的模塊系統
  • 更改選擇
+0

OP正在使用tsconfig.json文件。在這種情況下,Visual Studio的項目屬性頁面會在TypeScript Build選項卡上鎖定該選項,因此無法按照您的描述進行更改。 (我的版本是VS 2017 v15.4.5;不知道這種做法何時開始。) – shahzbot

0

我有同樣的問題與Visual工作室2017年。解決問題安裝angular-cli。 希望它可以幫助:)