在距離Taro 1.1 發(fā)布 之后一個月,經(jīng)歷了 500 多次提交和 17 個預(yù)覽版本的迭代之后,我們有信心在今天發(fā)布 Taro 1.2 正式版。
Taro 1.2 比起 Taro 1.1 和其它的小程序開發(fā)框架,增加了許多首次在小程序框架上實現(xiàn)的功能,這些功能包括但不限于:
就像博客大戰(zhàn)時代博客服務(wù)商提供了「搬家」工具一樣,Taro 現(xiàn)在也提供了「搬家」工具讓你方便地入駐 Taro 社區(qū)。轉(zhuǎn)換原有微信小程序應(yīng)用非常簡單,只需要安裝 Taro 命令行工具,定位到待轉(zhuǎn)項目根目錄,運行命令:
$ taro convert 復(fù)制代碼
Taro 就會把轉(zhuǎn)換好的代碼生成在根目錄下的 taroConvert 文件夾。轉(zhuǎn)換后的代碼是高可讀性的 JSX 代碼,沒有額外的龐大組件庫開銷。你可以輕易地進行二次開發(fā),或者直接將這些代碼通過taro build 命令生成任意 Taro 已經(jīng)支持平臺的應(yīng)用。
我們已經(jīng)嘗試使用 taro convert 成功轉(zhuǎn)換了四個 GitHub 上最熱門的開源微信小程序應(yīng)用,它們轉(zhuǎn)換之后都表現(xiàn)良好:
taro convert 不僅僅能支持轉(zhuǎn)換微信小程序應(yīng)用,它還能轉(zhuǎn)換微信小程序第三方組件。例如 wxParse 經(jīng)過 taro convert 編譯之后還能突破原有只能解析 11 層 HTML 嵌套的限制,理論上可以解析無限層 HTML 嵌套。
更多詳情可以訪問文檔 nervjs.github.io/taro/docs/t… 了解更多。
作為一個「多端統(tǒng)一開發(fā)框架」,Taro 當然也不會放過字節(jié)跳動小程序。在 Taro 1.2,你可以通過如下命令進行字節(jié)跳動小程序端的編譯預(yù)覽及打包:
# npm script $ npm run dev:tt $ npm run build:tt # 僅限全局安裝 $ taro build --type tt --watch $ taro build --type tt # npx 用戶也可以使用 $ npx taro build --type tt --watch $ npx taro build --type tt 復(fù)制代碼 |
選擇字節(jié)跳動小程序模式,你需要下載并打開 字節(jié)跳動小程序開發(fā)者工具 ,然后在項目編譯完后選擇項目根目錄下 dist 目錄進行預(yù)覽。
相應(yīng)地,Taro 的平臺標識(process.env.TARO_ENV)也增加了新成員 tt ,代表字節(jié)跳動小程序。
在 Taro 最早開源的時候我們就支持了 SCSS 、 LESS 和 Stylus ,而在 Taro 1.2 中我們百尺竿頭更進一步,給社區(qū)帶來了 JSX 的好伙伴:CSS Modules。
對于 Taro 而言支持 CSS Modules 有著重要的意義。Taro 在 1.0 的時候已經(jīng)支持組件的 style傳入 JavaScript 對象,支持了 CSS Modules 之后組件的 className 也能做這點——這意味著 Taro 完全可以做到 JSX 的一項特性:「Everything in JavaScript」。同時,通過編輯器的自動補全和校驗功能,開發(fā)者再也不用擔心 CSS 類誤輸入和 CSS 類的命名問題。
你可以查閱文檔CSS Modules 的使用 找到 CSS Modules 的開啟方法。
CSS Modules 的支持主要由 Taro 社區(qū)的個人開發(fā)者 @MrKou47 (MrKou47) 開發(fā),感謝他的貢獻。
在小程序應(yīng)用變得日趨復(fù)雜的今天,越來越多的開發(fā)者選擇使用獨立的狀態(tài)管理工具。在 Taro 1.1 你可以選擇 Redux 的體系的 redux-thunk 、 dva-core 、 redux-saga 等工具。在 Taro 1.2 我們又帶來了 taro-mobx 。
在 Taro 中使用 MobX 非常簡單,你可以通過 taro init <your app> 命令創(chuàng)建一個全新的 MobX 模板項目。也可以查閱使用 MobX 文檔將 taro-mobx 接入已有項目。
MobX 的支持主要由 Taro 社區(qū)的個人開發(fā)者 @nanjingboy (Tom Huang) 開發(fā),感謝他的貢獻。
面對社區(qū)里給力的個人貢獻者,Taro 官方團隊也沒有閑著。在 Taro 1.2 開發(fā)期間通過 commit 關(guān)閉了 169 個 issue 的同時,我們還披星戴月帶來了更多特性。其中值得一提的是:
你可以通過 CHANGELOG 查閱完整的功能迭代紀錄。
Taro 1.2 最為激動人心的功能顯然是「微信小程序轉(zhuǎn) Taro」 功能,通過這個功能已有的微信小程序應(yīng)用能轉(zhuǎn)化更好維護的 Taro(類 React) 代碼,也能把 Taro 代碼轉(zhuǎn)化為多端應(yīng)用。
但更重要的是,本次 Taro 1.2 更新的兩個核心功能點均由個人開發(fā)者貢獻——這完全體現(xiàn)了 Taro 社區(qū)的活躍、強大和開放。我們也會長期地維護與社區(qū)開發(fā)者們的關(guān)系,與開發(fā)者們一同成長,互利互贏。這也是 Taro 選擇開源的意義所在。