現行的主流的 CSS 方案:css
跟 JS 徹底解耦,靠預處理器和好比 BEM 這樣的規範來保持可維護性,偏傳統。
CSS Modules,依然是 CSS,可是經過編譯來避免 CSS 類名的全局衝突。
各種 CSS-in-JS 方案,React 社區爲表明,比較激進。
Vue 的單文件組件 CSS,或是 Angular 的組件 CSS(寫在裝飾器裏面),一種比較折中的方案。
在比較這幾種 CSS 方案時要明確場景的問題,在傳統靜態界面使用傳統的 CSS 方案沒什麼問題,可是在組件化,單頁應用的場景下傳統的 CSS 書寫方式會有維護的問題,使用 BEM 實際上是維護和組件平行的命名方式,思惟負擔比較重。前端
構建工具突飛猛進,前端的能力愈來愈強,WEB 的需求也愈來愈複雜,對前端的要求也愈來愈高,面對複雜度不一樣的需求,須要的工具也不一樣。webpack
grunt 和 gulp 在絕大多數狀況下可使用 npm script 替代,因此用的人比較少。web
Rollup 在打包效率和 tree shaking 方面作的比 webpack 好,React 也採用 Rollup 打包。
gulp