標簽:必須 轉化 一個 rgb 圖片 asc 定義 而且 任務管理
At its core, webpack is a static module bundler for modern JavaScript applications.
從本質上來講,webpack是一個現代的JavaScript應用的靜態模塊打包工具。
我們從兩個點來解釋上面這句話:模塊 和 打包
了目前使用前端模塊化的一些方案:AMD、 CMD、CommonJS、ES6,在ES6之前,我們要想進行模塊化開發,就必須借助于其他的 工具,讓我們可以進行模塊化開發,并且在通過模塊化開發完成了項目后,還需要處理模塊間的各 種依賴,并且將其進行整合打包。而webpack其中一個核心就是讓我們可能進行模塊化開發,并 且會幫助我們處理模塊間的依賴關系。而且不僅僅是JavaScript文件,我們的CSS、圖片、json文件 等等在webpack中都可以被當做模塊來使用(在后續我們會看 到)。 這就是webpack中模塊化的概念。
什么是打包?
理解了webpack可以幫助我們進行模塊化,并且處理模塊間的各種復雜關系后,打包的概念就 非常好理解了。 就是將webpack中的各種資源模塊進行打包合 并成一個或多個包(Bundle)。 并且在打包的過程中,還可以對資源進行處理, 比如壓縮圖片,將scss轉成css,將ES6語法轉成 ES5語法,將TypeScript轉成JavaScript等等操 作。 但是打包的操作似乎grunt/gulp也可以幫助我 們完成,它們有什么不同呢?
grunt/gulp的核心是Task(任務),我們可以配置一系列的task,并且定義task要處理的事務(例如ES6、ts轉化,圖片壓縮,scss轉成css),之后讓grunt/gulp來依次執行這些task,而且讓整個流程自動化,所以grunt/gulp也被稱為前端自動化任務管理工具。
什么時候用grunt/gulp呢?
如果你的工程模塊依賴非常簡單,甚至是沒有用到模塊化的概念。 只需要進行簡單的合并、壓縮,就使用grunt/gulp即可。
但是如果整個項目使用了模塊化管理,而且相互依賴非常強,我們就可以使用更加強大的webpack了。
所以,grunt/gulp和webpack有什么不同呢?
grunt/gulp更加強調的是前端流程的自動化,模塊化不是它的核心。
webpack更加強調模塊化開發管理,而文件壓縮合并、預處理等功能,是他附帶的功能。
上面都是理論,百度也可,理解即可,下面安裝這個Webpack:
安裝webpack首先需要安裝Node.js,Node.js自帶了軟件包管理工具npm。 npm 就是 Node Package Manager ,NODE包管理器。
查看自己的node版本
全局安裝webpack(這里我先指定版本號3.6.0,因為vue cli2依賴該版本)
-g 的意思就是說 全局安裝
局部安裝webpack(后續才需要)
--save-dev 的意思就是說 開發時依賴,項目打包后不需要繼續使用的。
為什么全局安裝后,還需要局部安裝呢?
在終端直接執行webpack命令,使用的全局安裝的webpack
當在package.json中定義了scripts時,其中包含了webpack命令,那么使用的是局部webpack
標簽:必須 轉化 一個 rgb 圖片 asc 定義 而且 任務管理
原文地址:https://www.cnblogs.com/bi-hu/p/15072255.html