TypeScript 編譯器的選項

TypeScript 的許多功能是透過 TypeScript 編譯器 (tsc) 來實現的。tsc 有許多選項可以用來調整編譯過程的行為。 設置專案 建立一個目錄 $ mkdir tsc-options $ cd tsc-options 透過 npm 產生 package.json 檔案 $ npm init -y 在 Local 端安裝 TypeScript $ npm install --save-dev typescript@4.8.3 #or -D TypeScript 選項值設定 透過 tsc 建立 TypeScript 的設定檔 (tsconfig.json) $ npx tsc --init P.S. 由於 typescript 是安裝在 local,執行時要透過 npx 指令(由 npm 所提供) TypeScript 選項值影響 先在專案目錄下建立 src 子目錄,並在此目錄下撰寫程式 $ mkdir src $ touch src/index.ts 程式如下: function add(a, b) { return a + b; } add(25, null); 上述的程式可否通過 tsc 型態檢核呢? 答案很難回答,因為取決於“tsc 選項”的設定。...

September 24, 2022 · 3 min · Theme PaperMod

使用 Snowpack + Typescript 來建置一個 Web App

Snowpack 號稱是更快速的前端建構工具,在開發 Web 應用程式的工作流程中,它可以替代更重、更複雜的打包工具,如 webpack 或 Parcel。 在此不會討論 Snowpack 的設計細節,只紀錄如可快速的使用 Snowpack 來建置一個由 Typescript 支援網頁程式。由撰寫 Typescript 的過程中了解到強型別(及與搭配 vscode 編輯器)所帶來的好處。 使用 create-snowpack-app 建立專案 $ mkdir doto-list && cd todo-list $ $ npx create-snowpack-app . --template @snowpack/app-template-blank-typescript --force $ npm install $ code . 産生的程式結構如下: package.json 的內容: { "scripts": { "start": "snowpack dev", "build": "snowpack build", "test": "echo \"This template does not include a test runner by default.\" && exit 1", "format": "prettier --write \"src/**/*....

May 1, 2022 · 5 min · Theme PaperMod

使用 Parcel.js + Typescript 來建置一個 Web App

使用 Typescript 來開發前端應用程式已是一個趨勢,這篇筆記是用來紀錄如何用 Parcel.js 來建置一個簡潔又有彈性的開發環境用來學習 Typescript。 使用的工具 & 作業系統 git vscode Mint 20.2 (作業系統) 專案初始化 $ mkdir parcel_ts && cd parcel_ts # 建立專案目錄 $ npm init -y # 初始化專案目錄 $ touch Startup.ts Employee.ts index.html # 新增三個空白程式檔 $ npm install --save-dev parcel parcel-bundler # 安裝 parcel & parcel-bundler $ code . # 開啟 vs code 在 package.json 中建立執行程式的 script "script": { "dev": "parcel index.html" } 使用 Typescript 撰寫程式 Employee....

February 20, 2022 · 2 min · Theme PaperMod

型別推論(type inference) 與 型別註記(type annotation)

在此要討論的是有關 TypeScript 的 型別推論(type inference) 與 型別註記(type annotation) 關於 Javascript 的型別 Javascript 是個動態型別的語言,也就是說擁有 ‘型別’ 的是 ‘值’ 而不是變數。 let myVar; console.log(`${myVar}: ${typeof myVar}`); // undefined : undefined myVar = 20; console.log(`${myVar}: ${typeof myVar}`); // 20 : number myVar = "Hi"; console.log(`${myVar}: ${typeof myVar}`); // Hi : string myVar = true; console.log(`${myVar}: ${typeof myVar}`); // true : boolean Type Annotation (型別註記) TypeScript 提供靜型別功能,讓我們可以明確指定變數的型別。編譯器在轉譯過程即可偵測到使用不同型別時主動抛出錯誤訊息。下面的例子就是使用型別註記來定義靜態型別: function calculateTax(amount: number): number { return amount * 1.2; } console....

January 17, 2022 · 2 min · Theme PaperMod

設置 TypeScript 開發環境 (Node.js)

TypeScript 不僅已可使用在主機端來進行 Node.js 程式的開發,也支援前端開發的眾多架構,使用 TypeScript 有許多額外的好處,因此學習 TypeScript 是現在軟體開發工程師不可缺的一項技能。本文是用來記錄如何設置一個簡易的 TypeScript 開發環境,用來學習 TypeScript。 開始設置 建立一個目錄 $ mkdir typescript-starter $ cd typescript-starter 透過 npm 產生 package.json 檔案 $ npm init -y 在 Local 端安裝 TypeScript $ npm install typescript --save-dev #or -D 為 Node.js 安裝類型檔 $ npm install @types/node --save-dev # 在 node.js 中使用 typescript 時,此套件用來加載所有類型定義 透過 tsc 建立 TypeScript 的設定檔 (tsconfig.json) $ npx tsc --init P.S. 由於 typescript 是安裝在 local,執行時要透過 npx 指令(由 npm 所提供)...

December 7, 2021 · 3 min · Theme PaperMod