| | | 0 | | 2,819 |
先前處理過幾次 VS2017 TypeScript 版本相容問題,特徵都是專案可編譯但 Error List 有錯誤。在某專案遇到類似狀況,錯誤訊息為 Cannot reclare block-scoped varialbe 'JSON'. @ lib.es6.d.ts。心中警鈴大作,心想應該又...
| | | 2 | | 4,197 |
Visual Studio TypeScript 版本相容問題又來了~ Orz 同事 Visual Studio 2015 Update 3 的 TypeScript 版本仍在 1.8,配合專案要升級到 2.3 (相容 2.4 版需修改程式), 沒留神裝成 TypeScript for Vis...
| | | 0 | | 3,504 |
之前處理過 VS2017 更新導致 TypeScript 出現大量 is not assignable to 錯誤問題,若暫時不打算改寫 TypeScript 升級 2.4+,確保專案 TypeScript 版本設定維持在舊版即可。但實際使用發現有個困擾:雖然編輯及使用都正常,但 VS2017 ...
| | | 0 | | 6,611 |
同事報案,在沒動 TypeScript 的情況下,專案爆出大量 TypeScript 錯誤導無法編譯。 錯誤訊息滿是各式各樣的 A is not assignable to parameter of type B。 目擊證人指出,問題出現在 VS2017 安裝更新後,VS 更新成為最...
| | | 8 | | 18,453 |
ES6 引進 Module(模組化) 概念,每個 Module 自成獨立 Scope,各 Module 可自由定義變數、型別,要開放外界存取的項目再透過 export 開放。當需要引用其他 Module 時,則必須明確使用 import 匯入才能使用。如此各 Module 可獨立開發維護而不彼此...
| | | 0 | | 5,077 |
以下為在 Visual Studio 2017 使用 TypeScript 定義檔可能出現的狀況。由 NuGet 或 Github 取得 TypeScript 定義檔,卻噴出大量編譯錯誤無法使用: Visual Studio 2017 已更新至 9/19 才發行的 15.3.5 版本,Typ...
| | | 0 | | 4,558 |
Template String 是 TypeScript 1.4 起加入的超好用功能(跟 C# Interpolated Strings 字串插值一樣,是用過就上癮的好物),今天發現一個問題 - Template String 內含的中文字元會被強制轉成 \uxxxx。(這種表示法術語叫 Uni...
| | | 4 | | 11,292 |
在網路上看到這篇 - Modern JavaScript Cheatsheet - Modern JS Cheatsheet,給既有 JavaScript 開發者看的小抄,指出因應 ES6/ES2015 新標準的注意事項。(註:如果你被 ECMAScript 6、ES6、ES2015 等術語搞到...
| | | 0 | | 8,833 |
改用 Visual Studio 2017 好一陣子,維護修改 TypeScrpt + Angular 專案都沒什麼問題。這兩天新起一個 ASP.NET 網站專案想寫個簡單的 Coding4Fun SPA,用 NuGet 裝好 jQuery、Angluar,順手也裝上 jQuery 與 Angu...
| | | 0 | | 9,439 |
上回提到 TypeScript 2.1 讓 ES5 平台也能支援 async、await,形同 JavaScript 非同步程式的一場革命,衝著這點大家都該認真考慮改用 TypeScript。但 async、await 當真如此神奇?想想,上回漏講一個 await 殺手級應用案例,說服力有點弱,趕...
| | | 0 | | 21,976 |
.NET 4 的 Task 大幅簡化多執行緒程式碼複雜度,而 4.5 推出的 async/await (參考)則讓非同步程式的寫法更精簡。(註:在博客園找到一篇從 Task、ThreadPool 談到 await 的廣泛介紹,可以一讀) 網頁開發老鳥都知道,JavaScript 端的非同步邏輯不比...
| | | 1 | | 15,307 |
非同步邏輯是寫 JavaScript 逃不掉的複雜課題,古早流行的做法是傳入 Callback 函式當參數,待特定作業完成再呼叫,缺點是串接程序一旦變多,就會出現波動拳式排版,寫到渾然不知身處夢境第幾層: asyncJob1(function() { //Callback 函式: asy...
| | | 0 | | 5,236 |
同事遇到的 TypeScript 小問題一則,如下圖,Foo 與 Bar.Foo Module 裡都有個 IBlah Interface(不算良好的設計但合法,用在特定情境可簡化程式),在 Bar.Foo 內想引用更上層 Foo 的 IBlah,不管宣告型別是 IBlah 還是 Foo.IBlah...
| | | 0 | | 8,707 |
TypeScript 2.0 已於 9/22 正式推出,想起從1.4版起已好久沒有深入了解改版差異,順勢做個重點整理。 TypeScript 改版歷程 TypeScript 1.0 推出時,由於具有支援強型別、介面、繼承等物件導向語言特性,提供編譯期錯誤檢查,再加上完整 IDE 支援,很適合開發大...
| | | 0 | | 7,053 |
接獲報案,專案修改無法使用TFS Build Service編譯,錯誤訊息如下: D:\Works\1\BLAH\src\Web\Scripts\Foo.ts (112): Build: 'let' declarations are only available when targeti...
| | | 0 | | 7,180 |
接獲同事報案追查TypeScript問題,二人一起陷入迷霧近20分鐘才恍然大悟… 有段TypeScript程式自訂類別,在類別方法用this.PropName="..."修改自身屬性值(註:類似需求我習慣用self大法,寫成self.PropName="…"),偵錯時用瀏覽器F12開發者工具下指令...