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