拿到前端設計師的網頁,開一個新的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>