webpack是一個現代Javascript應用程序的模塊打包器(module
bundler)它會分析目錄結構,找到js模塊(包括瀏覽器不能直接識別的代碼,typescript
sass等),打包成合適的格式供瀏覽器訪問。下面將從核心、安裝、使用等方面來說述。
1、核心javascript
二.安裝css
三.使用html
三.添加模塊java
module.exports='';node
var module = require("./module.js")
import module from ("./module.js")webpack
四.擴展web
每次,咱們都須要指定兩個文件來打包很不方便,而且每次文件有修改須要手動在從新打包也比較崩潰
將webpack寫入package.json來擴展命令直接用npm webpack便可運行命令typescript
--watch 自動更新 --progress 顯示打包進度 --display-modules 列出打包模塊 --display-reasons 列出打包緣由 --p 壓縮混淆腳本
五.核心概念npm
1.入口(entry) :使用哪一個模塊來構建內部依賴圖的開始 2.輸出(output) :在哪裏輸出它所建立的bundles及命名規則 3.loader :能夠促使webpack額外地處理非javascript文件 4.插件(plugins) :執行範圍更廣的任務,如:打包優化和壓縮等
咱們能夠新建webpack.config.js來制定以上概念。接下來一項一項來解釋。json
npm run webpack以後能夠發現如下報錯:
【tips】這個是由於webpack只能處理js文件,若是須要處理css 圖片等文件須要安裝對應的loader
3 loader(將程序資源文件進行轉換,是nodejs的函數 )
第一步:安裝loader:
npm install style-loader css-loader —save-dev npm install less-loader —save-dev
第二步:使用loader:
1.引用模塊時添加 `require("!style-loader!css-loader!./style.css")` 2.命令行 `webpack entry.js bundle.js --module-bind ‘css=style-loader!css-loader’` 3.配置文件 `module:{ loaders:[ { test:/\.css$/, loaders:['style-loader','css-loader'] //loader: 'style-loader!css-loader' } ] }`
這裏推薦在配置文件修改配置,就不用在文件或者命令行中指定比較方便
經常使用loader
npm install babel-loader bable-core —save-dev npm install babel-preset —save-dev npm install html-loader —save-dev npm install file-loader —save-dev
步驟總結:
a.安裝對應loader (npm install xxx —save-dev) b.修改配置文件(module)
常見loader配置:
4經常使用插件
webpack.BannerPlugin - banner註釋 htmlWebpackPlugin - 關聯文件 CommonsChunkPlugin - 按需加載 ExtractTextWebpackPlugin - 分離css 這裏須要特別提到的是關聯文件的插件,在平常項目中咱們通常會有模板。
在模板文件中,咱們不須要關注css,不須要關注js,只須要寫好對應的html模板。
4.1咱們在配置文件中寫好plugins,
4.2執行打包以後,就能夠在輸出文件中看到對應的js等等
4.3這裏須要特別注意的是這個js的文件能夠經過配置文件publicPath來配置。你們能夠翻到最前面查看該屬性。 固然了,也能夠利用banner註釋插件來添加註釋:
六.按需加載