Browse by Tags

TypeScript 1.4升級通知
同事報案,下載Angular TypeScript定義檔 後,jQuery.d.ts出現大量錯誤訊息,無法編譯: 看了錯誤所在,出現U|JQueryGenericPromise<U>的新奇寫法,先前在Kendo UI討論區發問曾聽Telerik RD提過,這似乎是Union Type新語法。TypeScript檔是1/22新出的,推測有加入新語法導致錯誤的可能。由TypeScript官網找到VS2013套件 下載連結 ,證實TypeScript 1.4版已於1/17釋出。 安裝1.4版後重開Visual...
Posted 27 January 2015 10:06 AMJeffrey | with no comments 3,886
Filed under:
TypeScript偵錯陷阱-中斷點位置不符
目前進行中的網站專案全面改用 TypeScript ,有顆地雷卻一忘再忘,踩了又踩,痛定思痛怒寫筆記,誓言戰勝 末稍血液循環問題 。 TypeScript需編譯轉成JavaScript,不過Visual Studio預設TypeScript一存檔就自動編譯,因此過去邊測邊改的習慣仍能照舊。在瀏覽器用F12開發工具找出問題,回Visual Studio修改TypeScript存檔,回到瀏覽器重新載入網頁就能重測修改結果,不需重新編譯整個專案,開發節奏較快,卻也因此在JavaScript偵錯期間偶爾發生靈異現象...
Posted 22 November 2014 07:33 PMJeffrey | with no comments 3,278
Filed under:
TIPS-TypeScript類別無法模擬同名函式
文章標題讓人霧煞煞,不過也想不出更精準的形容,但看下去大家(我是指有選修TypeScript的同學,其餘同學請前往自己的選課教室)應該就明白了… 故事是-我在寫TypeScript單元測試,想做一個假物件模擬SingalR HubProxy的行為,由NuGet取得定義檔signalr.d.ts,其中HubProxy介面定義如下: interface HubProxy { (connection: HubConnection, hubName: string ): HubProxy; state:...
Posted 04 November 2014 09:40 PMJeffrey | with no comments 2,546
Filed under:
TIPS-Chutzpah回報需要ECMAScript 5+
使用Chutzpah執行 TypeScript單元測試 ,出現以下錯誤: foo.ts(14,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. 檢查foo.ts發現其中使用get/set宣告屬性,比照C#在屬性讀取及設定時加入特定邏輯,如以下範例( Demo ),foo.Name="Jeffrey",但alert(foo.Name)會得到"Jeffrey...
Posted 31 October 2014 11:38 PMJeffrey | with no comments 4,064
Filed under:
我的TypeScript新手村心得
前陣子將一個中型網站的 JavaScript 翻寫成 TypeScript,轉換完數千行程式。身為 TypeScript 魯雞(Rookie),少不了一段步步踩雷、天天摔坑的日子,接著就漸入佳境,轉換後體驗到按  F2 立即更名、-調介面便知哪些地方要改的便利,令人感動不已。這段時間累積了一些心得,整理如下,供其他也要挑戰 JavaScript 轉 TypeScript 的朋友參考: 重要觀念: 左手 TypeScript 只是輔助! JavaScript 還是得學好,但不需要研究如何用...
Posted 19 September 2014 07:58 AMJeffrey | 4 comment(s) 12,361
Filed under:
再談TypeScript的this
前陣子談過 TypeScript 使用 this 常遇到的問題(參考: TypeScript的this陷阱 ),經網友提醒,我才發現 TypeScript 對 () => { … } ( Arrow Function Expression ,箭頭函式表示式,索性簡稱「箭函式」XD )加了魔法:自動宣告 var _this = this ,並將 () => { … } 裡的 this 自動換成 _this。 前陣子重整一個中型網站,將 JavaScript 翻成 TypeScript,改寫不少原本用JavaScript...
Posted 18 September 2014 08:04 AMJeffrey | 6 comment(s) 6,018
Filed under:
KO範例31 - 也來寫野生官網好了
市長候選人柯P的競選團隊前幾天做了一件有趣的事(只有程式魔人覺得有趣),突發奇想地將官網內容 透過Web API 方式提供,歡迎開發人員自行開發野生官網。昨天,保哥瞬間變出 AngularJS版 ,好不神奇! 依我的理解,這個需求還算簡單,應該也難不倒knockout.js,而更重要的是,這年頭大家都去玩NG了,如果我不寫,全台灣應該也沒有其他人會為Knockout寫範例了(KO堂口冷冷清清,頓時感到寂寞空虛覺得冷)。身為KO粉絲,我做了我該做的事 - 無關政治,但柯P官網API KO版範例來了...
TypeScript列舉型別
列舉(Enumerate)是我愛用的TypeScript特性之一,它能嚴格限制數值範圍,較數字或字串安全,不慎打錯字在編譯時就會被揪出來,對於錯字成習甚至已發展成個人特色的我來說,節省了可觀的Debug時間,並大幅降低氣到想刴手指的風險,功德無量。(手指頭:謝謝你,TypeScript!) TypeScript列舉轉換到JavaScript端的設計得挺巧妙,花了點時間才熟悉,順手整理筆記供大家參考。 TypeScript列舉宣告寫起來跟C#幾乎相同,但實際轉換成的JavaScript物件很有趣,例如以下的enum...
Posted 20 August 2014 06:56 AMJeffrey | with no comments 4,770
Filed under:
【茶包射手日記】TypeScript錯誤: missing property 'concat'
一段運作正常的Kendo UI JavaScript程式,搬到TypeScript後發生編譯錯誤,起火點在DataSourceOptions物件的group屬性: var x = new kendo.data.DataSource({ data: [], group: { field: "Boo" , aggregates: [ { field: "Foo" , aggregate: "sum" } ] } }); 錯誤訊息如下 Supplied...
Posted 13 August 2014 11:07 PMJeffrey | with no comments 2,576
Filed under:
TypeScript的this陷阱
JavaScript的this是個 奇妙的東西 ,我歷經了一段學習與摸索才有較清楚的觀念。最近在寫TypeScript,踩到一個關於this的小陷阱,特分享兼備忘。 用以下的class舉例: 在類別中宣告了parseResult()函式,另外有個getResultByAjax()函式,透過jQuery.post()呼叫取得資料後打算以parseResult()解析。在Boo class內部要呼叫自身函式,直覺會寫成this.parseResult(),TypeScript為強型別,編輯器沒傳出錯誤...
Posted 18 July 2014 07:12 AMJeffrey | 6 comment(s) 7,822
Filed under:
為jQuery Plugin撰寫TypeScript定義檔
TypeScript是強型別的世界,透過預先宣告物件、屬性、方法、介面,在編輯階段提供Intellisense提示、Go Definition、Find All References、Rename... 等編譯式語言才有的功能,而編譯時可預先抓出參數、型別、方法錯誤,降低執行階段發現修復的高昂成本。 開始使用TypeScript一段時間後,一定會發現一項困擾: 雖然DefinitelyTyped計劃已匯集許多常用JavaScript程式庫的TypeScript定義檔,但畢竟無法涵蓋你會用到的每一個JavaScript程式庫...
Posted 03 July 2014 10:24 PMJeffrey | 3 comment(s) 10,761
Filed under:
VS2012網站專案的TypeScript不會自動編譯
接獲報案,在Visual Studio 2012若建立HTML Application with TypeScript專案(如下圖),.ts可順利產生.js及.js.map,運作正常。 但是若建立的是一般ASP.NET網站專案(Visual C#/Web下的項目),可以新增及編輯.ts,編譯時卻不會產生.js。 想起上回處理TypeScript in Class Library的 經驗 ,猜想又是csproj短少設定造成。比對兩種專案的csproj,在檔案尾端發現以下可疑設定,HTML Application...
Posted 01 July 2014 10:00 PMJeffrey | 1 comment(s) 4,181
Filed under:
TypeScript的函式多載(Overloading)
考慮以下JavaScript函式(myText): /// <reference path="../Scripts/jquery-2.1.1.js" /> function myText(selector, valueOrFunction) { //未指定第二個參數時,傳回jQuery .text() if (valueOrFunction === undefined) { return $(selector).text(); } //第二個參數可以是數值或函式,如為函式則呼叫取值...
Posted 28 June 2014 08:57 AMJeffrey | with no comments 5,441
Filed under:
類別庫專案TypeScript不會自動編譯
進行 Angular單元測試 時,在Class Library(類別庫)新增TypeScript測試檔,使用Chutzpah測試正常,但我發現Class Library專案裡的TypeScript,不像在ASP.NET Web專案裡會自動產生.js檔,Chutzpah似乎是靠自己的機制編譯TypeScript(所以才會有名為_Chutzpah.53.sampleapp.js的暫存檔)。 計劃在Class Library加入自訂Test Runner網頁,需要將TypeScript轉為JavaScript才能運作...
Posted 18 June 2014 07:22 AMJeffrey | 1 comment(s) 7,360
Filed under:
NG筆記4-單元測試
自動測試是AngularJS架構的重要一環,官方文件有專章討論 單元測試 ,程式庫則有 ngMock 提供單元測試所時的DI及Mocking(假物件模擬)支援。本篇將討論如何在Visual Studio 2013對Controller及ViewModel進行單元測試。 開始之前,Visual Studio要先安裝Chutzpah(發音類似" 鬍子爸 " XD)延伸套件,流浪小風有篇 詳細介紹 ,在此不多贅述,直接切入Angular相關部分。我們就拿 NG筆記2 的簡單範例來練兵...
Posted 17 June 2014 07:17 AMJeffrey | with no comments 14,230
Filed under: ,
更多文章 « 上一頁 - 下一頁 »

搜尋

Go

<May 2017>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


Syndication