Browse by Tags

【茶包射手日記】詭異的 TypeScript lib.es6.d.ts JSON 重複宣告錯誤
先前 處理過幾次 VS2017 TypeScript 版本相容問題,特徵都是專案可編譯但 Error List 有錯誤。在某專案遇到類似狀況,錯誤訊息為 Cannot reclare block-scoped varialbe 'JSON'. @ lib.es6.d.ts。心中警鈴大作,心想應該又是煩人的 TypeScript 版本相容問題。 將 TypeScript 版本從 2.5 更新到 2.7,VS2017 也更新到最新版,問題卻不見改善,這才覺得問題不單純。 經過調查,問題根源讓人啞然失笑...
Posted 12 April 2018 10:43 PMJeffrey | with no comments 1,707
Filed under:
VS2015 Update 3 TypeScript 語法標示失效
Visual Studio TypeScript 版本相容問題又來了~ Orz 同事 Visual Studio 2015 Update 3 的 TypeScript 版本仍在 1.8,配合專案要升級到 2.3 ( 相容 2.4 版 需修改程式), 沒留神裝成 TypeScript for Visual Studio 2015 最新版( 2.7.2,應點開 Detail 才能下載歷史版本), 之後發現版本不對再安裝了 TypeScript for Visual Studio 2015 2.3.3...
Posted 05 March 2018 09:07 PMJeffrey | 2 comment(s) 2,633
Filed under: ,
【茶包射手日記】VS2017 錯誤清單出現 TypeScript 版本相關錯誤卻可編譯
之前處理過 VS2017 更新導致 TypeScript 出現大量 is not assignable to 錯誤 問題,若暫時不打算改寫 TypeScript 升級 2.4+,確保專案 TypeScript 版本設定維持在舊版即可。但實際使用發現有個困擾:雖然編輯及使用都正常,但 VS2017 的錯誤清單視窗(Error List)冒出大量 is not assignable to 錯誤,一片紅通通很礙眼,其他程式有錯要查訊息如同大海撈針。 研究一陣子不得其解,不經意看到最下方兩則 Warning...
Posted 23 February 2018 09:13 PMJeffrey | with no comments 2,115
Filed under: ,
【茶包射手日記】TypeScript 出現大量 is not assignable to 錯誤
同事報案,在沒動 TypeScript 的情況下,專案爆出大量 TypeScript 錯誤導無法編譯。 錯誤訊息滿是各式各樣的 A is not assignable to parameter of type B。 目擊證人指出,問題出現在 VS2017 安裝更新後,VS 更新成為最大嫌疑犯。深入調查後案情逆轉,發現 TypeScript 2.3 版本被移除,專案屬性設定 TypeScript 原指定 2.3 版,目前顯示為 2.3 (Unavailable)。 延伸閱讀: 檢查 TypeScript...
Posted 24 December 2017 08:50 AMJeffrey | with no comments 4,795
Filed under: ,
TypeScript Module 簡單練習
ES6 引進 Module(模組化) 概念,每個 Module 自成獨立 Scope,各 Module 可自由定義變數、型別,要開放外界存取的項目再透過 export 開放。當需要引用其他 Module 時,則必須明確使用 import 匯入才能使用。如此各 Module 可獨立開發維護而不彼此干擾,甚至能實現需要時再動態載入,大幅提升開發及應用彈性。 TypeScript 也支援 Module,我目前的專案沒用到這麼高級的技巧,原本並不打算深入了解,但發現苗頭不對。開源專案如 Angular 2...
Posted 10 October 2017 12:53 PMJeffrey | with no comments 8,451
Filed under:
TIPS-VS2017 無法編譯新版 TypeScript 定義檔
以下為在 Visual Studio 2017 使用 TypeScript 定義檔可能出現的狀況。由 NuGet 或 Github 取得 TypeScript 定義檔,卻噴出大量編譯錯誤無法使用: Visual Studio 2017 已更新至 9/19 才發行的 15.3.5 版本,TypeScript for Microsoft Visual Studio 也被一併更新至 15.3.10723.1: 前幾天剛好聽同事提起 VS2017 與 TypeScript 可各自更新(參考: Updating...
Posted 08 October 2017 02:59 PMJeffrey | with no comments 3,071
Filed under: ,
TypeScript Template String 中文字元被轉為 \uxxxx 格式
Template String 是 TypeScript 1.4 起加入的超好用功能(跟 C# Interpolated Strings 字串插值 一樣,是用過就上癮的好物),今天發現一個問題 - Template String 內含的中文字元會被強制轉成 \uxxxx。(這種表示法術語叫 Unicode Escape Sequences ) 例如以下 範例 : var t2 = `ABC-中文-${n}`; 會變成: var t2 = "ABC-\u4E2D\u6587-"...
Posted 05 October 2017 10:13 PMJeffrey | with no comments 2,995
Filed under:
JavaScript 開發者 ES6 小抄筆記
在網路上看到這篇 - Modern JavaScript Cheatsheet - Modern JS Cheatsheet ,給既有 JavaScript 開發者看的小抄,指出因應 ES6/ES2015 新標準的注意事項。(註:如果你被 ECMAScript 6、ES6、ES2015 等術語搞到頭很昏,可以參考 這篇 ) 而這篇則是我以一個 jQuery/TypeScript/C# 開發者角度閱讀小抄的筆記整理,主要供自己備忘(謎: 天哪,這年頭連看小抄都要做筆記了嗎?),順便分享給類似背景的同學參考...
VS2017 Angular TypeScript 定義檔編譯錯誤
改用 Visual Studio 2017 好一陣子,維護修改 TypeScrpt + Angular 專案都沒什麼問題。這兩天新起一個 ASP.NET 網站專案想寫個簡單的 Coding4Fun SPA,用 NuGet 裝好 jQuery、Angluar,順手也裝上 jQuery 與 Angular 的 TypeScript 定義檔 ,發現 Angular 定義檔冒出數十個 Cannot find name 'IPromise'、Namesapce 'angular'...
Posted 15 April 2017 09:50 AMJeffrey | with no comments 6,979
Filed under: ,
用 TypeScript await 讓操作確認流程回歸直覺
上回提到 TypeScript 2.1 讓 ES5 平台也能支援 async、await ,形同 JavaScript 非同步程式的一場革命,衝著這點大家都該認真考慮改用 TypeScript。但 async、await 當真如此神奇?想想,上回漏講一個 await 殺手級應用案例,說服力有點弱,趕緊補上。 大家小時侯都有寫過這種需求:網頁進行更新、刪除操作前跳出對話框請使用者三思,回答「取消」可以反悔取消,回答「確定」才正式執行。在那個古老而純真的年代,只要寫一行就搞定: if (confirm...
Posted 01 January 2017 09:32 AMJeffrey | with no comments 6,651
Filed under:
JavaScript 非同步程式革命-async、await 與 TypeScript 2.1
.NET 4 的 Task 大幅簡化多執行緒程式碼複雜度,而 4.5 推出的 async/await ( 參考 )則讓非同步程式的寫法更精簡。(註:在博客園找到一篇從 Task、ThreadPool 談到 await 的 廣泛介紹 ,可以一讀) 網頁開發老鳥都知道,JavaScript 端的非同步邏輯不比 C# 簡單,複雜起來會讓人寫程式寫到嘔出幾十兩鮮血。於是在前端也看到類似 Thread、Task、async/await 的發展史:最早只能靠 Callback、setTimeout 苦手硬刻...
Posted 23 December 2016 06:33 AMJeffrey | with no comments 17,169
Filed under:
小試 JavaScript Promise
非同步邏輯是寫 JavaScript 逃不掉的複雜課題,古早流行的做法是傳入 Callback 函式當參數,待特定作業完成再呼叫,缺點是串接程序一旦變多,就會出現波動拳式排版,寫到渾然不知身處夢境第幾層: asyncJob1( function () { //Callback 函式: asyncJob1 完成後呼叫 //...... ayncJob2( function () { //Callback 函式: asyncJob2 完成後呼叫 //...... ayncJob3( function...
與上層命名空間成員名稱重複問題:TypeScript 與 C#
同事遇到的 TypeScript 小問題一則,如下圖,Foo 與 Bar.Foo Module 裡都有個 IBlah Interface(不算良好的設計但合法,用在特定情境可簡化程式),在 Bar.Foo 內想引用更上層 Foo 的 IBlah,不管宣告型別是 IBlah 還是 Foo.IBlah,指向的都是 Bar.Foo.IBlah。 同樣的情境,在 C# 裡也會上演,在 Bar.Foo 命名空間內不管寫 Foo.IBlah 或 IBlah 指的都是Bar.Foo.IBlah: C# 可用 global...
Posted 17 November 2016 05:19 PMJeffrey | with no comments 4,073
Filed under: ,
TypeScript 1.4 - 2.0 改版整理
TypeScript 2.0 已於 9/22 正式推出 ,想起從 1.4版 起已好久沒有深入了解改版差異,順勢做個重點整理。 TypeScript 改版歷程 TypeScript 1.0 推出時,由於具有支援強型別、介面、繼承等物件導向語言特性,提供編譯期錯誤檢查,再加上完整 IDE 支援,很適合開發大型且複雜的 JavaScript 程式,獲得許多前端開發者青睞,TypeScript 也 自此 成為我開發網站的首選。 TypeScript 在 1.1 時選擇重寫編譯器,提供四倍速度,同時也移上...
Posted 24 September 2016 06:03 PMJeffrey | with no comments 7,155
Filed under:
【茶包射手日記】TypeScript MSBuild編譯失敗
接獲報案,專案修改無法使用 TFS Build Service 編譯,錯誤訊息如下: D:\Works\1\BLAH\src\Web\Scripts\Foo.ts (112): Build: 'let' declarations are only available when targeting ECMAScript 6 and higher. 訊息指向程式使用TypeScript新支援的 let語法 ,只能編譯成ES6,但專案設定輸出ES5。但專案在本機Visual Studio...
Posted 01 June 2016 05:45 AMJeffrey | with no comments 4,536
Filed under: ,
更多文章 下一頁 »

搜尋

Go

<September 2018>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication