關於H5項目開發中TS(或JS)文件按照順序編譯成一個文件的記錄


由於js的執行特性,多個js文件合成一個文件或者進行多個js文件加載時,時需要按照指定的順序進行的,否則會出現報錯的情況。
我們看一下目前幾個主流H5引擎的做法。

白鷺的做法

當前版本的做法

在tsconfig.json中,使用的是outDir而不是outFile,這么設置ts只會講單個的ts文件直接編譯成對應的js文件,ts編譯器完全不去管js文件的加載順序。
白鷺自己的編譯器,會自己去解析ts文件,從而確定js文件的順序,用於加載和合並js文件,唯一的缺點是這種方法會導致編譯耗時較長。

新版本的做法

新版本還沒有出,只能通過官方的文章來了解一下:
大概的意思是采用ES2015+webpack的方式來實現多個TS或JS文件按照正確的順序合並成1個js文件。

Laya的做法

1.x

2.0之前的Laya,我只用過一小段時間,沒有細看具體實現,感覺和白鷺當前版本的做法應該是差不多的。

2.x

使用CommonJS的方式來開發,加入了browserify和tsify的支持來實現CommonJS的寫法可以在瀏覽器中的執行,通過這兩個庫實現多個TS文件按照正確的順序合並成1個js文件。
browserify: http://browserify.org/

Cocos Creator

這款引擎我了解得比較少,大概看了下,采用的是CommonJS,合並成一個js文件使用的技術並不是很清楚。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM