W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
支持?jǐn)U展類型: wasm
WebAssembly 是一個新興的技術(shù),但在不久的將來,它會對 web 產(chǎn)生巨大的影響?,F(xiàn)在的主流瀏覽器都支持,Nodejs 也是。WebAssembly 將啟用多種語言,而不僅僅是那些可以編譯成 JavaScript 的語言。
系統(tǒng)底層的語言比如:C 和 Rust 都可以編譯成二進制格式的 WebAssembly,這樣減少文件大小并且加快了運行時。編譯后的 WebAssembly 代碼具有原生級別的性能,一般來說比同等的 JavaScript 更快。在不久的將來,我們很可能會看到 JavaScript 庫開始利用 WebAssembly 來實現(xiàn)代碼中關(guān)鍵的性能部分。
在 Parcel 中非常容易使用 WebAssembly。假設(shè)你有一個.wasm文件,直接像往常一樣導(dǎo)入它。同步和異步導(dǎo)入都是支持的。
// 同步導(dǎo)入
import { add } from './add.wasm'
console.log(add(2, 3))
// 異步導(dǎo)入
const { add } = await import('./add.wasm')
console.log(add(2, 3))
當(dāng)同步導(dǎo)入一個.wasm文件時,Parcel 自動生成額外的代碼以便在執(zhí)行 JavaScript 包之前載入文件。這意味著二進制的 WebAssembly 不會以字符串的方式內(nèi)聯(lián)到你的 JavaScript 中,實際上正如你所期望的那樣作為單獨的二進制文件載入。如此一來,你的代碼依然是同步的工作方式,Parcel 會在所有代碼工作之前處理這些需要加載的依賴項。
這些是所有被 Parcel 支持的bundle 加載器,這些模塊的運行時是了解如何異步加載特定的文件格式。在以往的版本,支持動態(tài)導(dǎo)入的 JavaScript 及 CSS 的包加載器都是寫死的。在 Parcel v1.5.0 版本,這些都是完全插件化了,你可以在插件中定義你自己的包加載器!在不久的將來這將開啟大量有趣的功能,比如自定義的 Glimmer 的二進制模板等。非常期待!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: