Visual Studio - 久違的寫網頁卻出現錯誤 ( build:cannot find module '@fortawesome/fontawesome-common-types' )

  • 237
  • 0
  • 2018-04-23

拿到前端設計師的網頁,開一個新的Web專案,把檔案複製過來按下Run …

build:cannot find module '@fortawesome/fontawesome-common-types'。

an operation is not legal in the current state

原本我以為這件事是再簡單不過的

但我現在要收回這個天真的想法了

先說說我的開發環境

一個安裝在Mac上的VirtualBox的Windows10的Visual Studio Community 2017 Version 15.3.4

打開了 Visual Studio 之後,從File->New->Project 去新增一個WebApplication

接著把拿到的 html 檔和 Asset 目錄從 Windows 檔案總管底下複製到專案目錄裡

再從 Visual Studio 將檔案引入( Include in project )

在什麼都沒寫沒改的情況下按Run,然後神奇的事情就發生了,我得到了如下的錯誤

build:cannot find module '@fortawesome/fontawesome-common-types'。
build:cannot find module '@fortawesome/fontawesome-common-types'。
build:cannot find module '@fortawesome/fontawesome-common-types'。
build:cannot find module '@fortawesome/fontawesome-common-types'。
build:cannot find module '@fortawesome/fontawesome-common-types'。
build:cannot find module '@fortawesome/fontawesome-common-types'。
build:cannot find module '@fortawesome/fontawesome-common-types'。

WTF!!!

自以為是的想了1分鐘,面對他.接受他.Google他.解決他

好吧,也只能把Error Message 餵給 Google大神,看了幾條猜結果猜到可能是 TypeScript 支援的問題

所以從 Extensions and Updates 下載了新版的 TypeScript package ( 原本2.3 ,新的v2.6.1)

再到專案屬性裡把 TypeScript Build 的版本調整一下

然後,就可以執行 ( Run ) 了,But!!接著又遇到了下一個問題

an operation is not legal in the current state

還好,這個 Error 還算清楚簡單,一樣餵給 Google 馬上就得出了解決方法 

Option 1:把『Enable Javascript debugging for ASP.NET (Chrome and IE)』給取消勾選

不過如此一來,你會沒辦法在Debug階段在去Debug你的Client side的Javascript,

這樣hen不方便

Option 2 ( 推薦 ) :選擇『Don't open a page. Wait for a request from an external application.』

解決,繼續快樂寫 Code 去

04'23 更新:

更新了TypeScript 2.6 之後發現還是無法解決第一個問題,再Google了一下之後有另一個解法

關閉你的專案,使用文字編輯器開啟專案檔(YourProject.csproj)

在PropertyGroup區段裡加上一個屬性設定如下:

<PropertyGroup>

  <TypeScriptCompileBlocked>True</TypeScriptCompileBlocked>

</PropertyGroup>