使用TypeScript編寫GameSparks Cloud Code - 2
在上一篇文章中, 雖然成功配置了Code Code的TypesScript開發環境, 但並沒有成功使用到TypeScript類型檢查的優勢, 這篇文章會以另一個方法解決問題
問題原因
TypeScript與Cloud Code的模組加載規則不同
TypeScript以模組加載, Cloud Code以代碼片段加載
解決方法
TypeScript開發不遷就Cloud Code, 完全根據模組開發
編寫編譯器, 自行將TypeScript編譯為Cloud Code
例子
Typescript
// modules/myModuleA.ts export function addNums(num1: number, num2: number) { return num1 + num2; }// event/myEvent.ts import * as MyModuleA from "myModuleA"; Spark.setScriptData("numAdd", MyModuleA.addNums(1, 1));Cloud Code
// modules/myModuleA.js "use strict"; function module_myModuleA_addNums(num1, num2) { return num1 + num2; }// event/myEvent.js "use strict"; require("myModuleA"); Spark.setScriptData("numAdd", module_myModuleA_addNums(1, 1));
使用方法
- 安裝編譯器
npm install --save-dev git+https://github.com/johnsoncodehk/ts2gamesparks.git - 執行
ts2gs進行編譯