一、指令重排的定義 在執行程序時,為了提高性能,編譯器和處理器常常會對指令進行重新排序。 編譯器重排:編譯器在不改變單線程程序語義的前提下,重新安排語句的執行順序。 處理器重排:CPU 採用了指令級並行技術,將多條指令重疊執行。如果不存在數據依賴性,處理器可以改變語句對應的機器指令的執行順序。 二、指令重排的背景和原因 指令重排的
我們知道 webpack 只能處理 JavaScript 和 Json 文件,面對 CSS、圖片等資源是無能為力的,它需要通過 loader 將這些資源轉換為可處理的模塊。 loader 的本質是一個解析資源的函數模塊,該函數對接受到的內容進行轉換,然後返回 webpack 可處理的資源。 loader的執行順序 loader 可根據執行順序區分為:
在一些新框架的代碼中,常基於es6/7標準來書寫代碼。鑑於這些標準被沒有被瀏覽器廣泛支持,我們一般使用babel來將使用e6/7標準書寫的代碼降級編譯(或者説轉譯)為瀏覽器可解析的es3/5代碼。 以.babelrc文件配置babel為例,presets預設編譯規則(預設的編譯插件集合)可以設置stage-0 至 stage-3, stage-0包含了stage-1 至 s