在白鷺引擎內置的 TypeScript 更新至 1.7 版本后,微軟對 TypeScriptCompiler 提供的不少新特性都需要采用自定義編譯參數(shù)來啟動,比如 Decorators 功能就需要添加 experimentalDecorators:true 這個參數(shù)。
由于白鷺引擎采用 egret build 命令對 TypeScript 編譯器進行了封裝,使開發(fā)者無法自己傳遞這些參數(shù),為了解決這個問題,引擎會添加以下特性:
在下個版本中,當egret build命令執(zhí)行 時,會掃描項目目錄,尋找一個名為 tsconfig.json 的文件,關于 tsconfig.json 的詳細參數(shù),請參考微軟官方文檔
如果沒有發(fā)現(xiàn)這個文件,egret build 會采用默認的編譯參數(shù),如果找到了這個參數(shù),引擎將讀取這個參數(shù)的全部屬性,并注入到白鷺封裝的 tsc 編譯器中。
在具體實現(xiàn)時,可能會有特定的與白鷺目前的構建機制沖突的屬性不會被注入
在未來的版本中,白鷺引擎封裝的 tsc 編譯器會作為一個“可選項”提供,并擁抱原生 TypeScript 的 tsconfig.json的機制,在保證向下兼容的同時不再提供不必要的封裝。