點燈坊
iTerm2 幾乎成為 macOS 最多人使用的 terminal,WebStorm 內也可直接使用 iTerm2,不過最近卻發現 iTerm2 在 WebStorm 內啟動時間越來越久,幾乎超過 30 秒以上…。
Angular CLI 已經將 Jasmine 整好,我們可以直接在 terminal 下 ng test
執行單元測試;WebStorm 亦整合了 Karma + Jasmine,讓我們可以在 IDE 內直接跑 Jasmine。
Angular CLI 已經將 Protractor 整好,我們可以直接在 terminal 下 ng e2e
執行 E2E 測試;WebStorm 亦整合了 Protractor,讓我們可以在 IDE 內直接跑 Protractor。
WebStorm for Windows 的 terminal 預設是使用 Windows 內建的 Command Prompt,但可惜內建的 Command Prompt 不強,而 Git Bash 是 Git for Windows 所提供的 git 文字介面,讓我們可以直接對 git 下指令,並顯示當前的 branch,重點是能在 Windows 使用 Bash,且整合進 WebStorm 的 terminal。
驗收測試是以使用者角度對網站做測試,屬於黑箱測試,既然是黑箱測試,原本使用 PHP/Laravel 所開發的網站,就不一定要使用 PHP/Laravel 後端技術來做驗收測試,也可以使用前端的技術來做;透過 Angular CLI,我們可使用 TypeScript + Protractor + Jasmine + Webpack 對 PHP/Laravel 做驗收測試。
ES6 提出了 module 概念,讓我們將程式碼加以模組化,避免如 ES5 一樣常常寫出幾千行的程式碼,造成日後難以維護,TypeScript 也支援 ES6 的 module。
Arrow function 是 ES6 最重要的發明,讓 FRP 能以更簡潔的方式呈現,TypeScript 當然可使用,在 Angular 也隨處可見,如 RxJS 就必須大量使用 arrow function,是學習 Angular 一定要會的。
TypeScript 的 function 可對參數做強型別檢查與 function type,此外 ES6 還多了 optional / default / rest parameter,當然 TypeScript 也可使用。