webpack

這個東西很好用 -這就是對它的評價

webpack是干啥滴:看這里

作為一個工具,我們只談?wù)撊绾嗡腿绾斡煤盟?/p>


  • 老樣子,第一步創(chuàng)建一個案例文件夾(我的就叫webpack了)
mkdir webpack
cd webpack

  • 安裝(這里的前提是你已經(jīng)安裝了node和npm,還沒有的話請看我的javascript服務(wù)器文集中的初步或者自己搜索安裝上)
npm install webpack -g //全局安裝,方面使用

  • 環(huán)境配置
npm init  
npm install webpack --save-dev  //將webpack配置到config.js中去

  • 預(yù)備場地
    按照開發(fā)web的套路,先創(chuàng)建幾個文件
touch index.html style.css main.js

接著在里面隨便寫點東西

 <!--index.html-->
<html>
  <head>
    <link href='./style.css' type='text/css'/>
  </head>
  <body>
        <script type='text/javascript' src='./main.js'>
  </body>
</html>
/*style.css*/
 body{
    background:#FF0000;
}
//main.js
document.write('hello world!');

現(xiàn)在我們執(zhí)行index.html在chrome中運行會看到一個紅色背景的頁面,里面寫著hello world!

到這里應(yīng)該沒有一絲的難度(如果有的話,你可以返廠)


  • 開始干
  • 先來一個開胃菜
    創(chuàng)建一個js執(zhí)行文件done.js,將main.js的內(nèi)容復(fù)制進來
cp main.js done.js

然后清空main.js文件的內(nèi)容
執(zhí)行webpack命令

webpack ./done.js main.js

你會看到webpack給出的一些明細...
刷新一下index.html頁面,發(fā)現(xiàn)沒有變化~,現(xiàn)在可以看一下main.js文件內(nèi)容了,密密麻麻的好多~


  • 到這里,你已經(jīng)對使用webpack入門了。下面我們趁熱打鐵,說說在項目中你該怎么用,畢竟這個這種方式用起來還是挺麻煩滴

    • 配置文件解決麻煩
touch webpack.config.js #你可以創(chuàng)建其他名稱的配置文件,但webpack缺省下會執(zhí)行這個名稱的文件
 module.exports = {
    entry:'./done.js' ,  //入口文件,也就是我們剛剛定義的done.js文件
    output:{                   //這有好幾種書寫方式,我經(jīng)常用這個^-^
          path:__dirname,                   
          filename:'main.js'
     }
}

為了驗證我們配置成功了,將done.js中的輸出內(nèi)容改成changed!
執(zhí)行命令

webpack //就這個單詞就行了,可以看到webpack的執(zhí)行詳情(但沒有人會在配置文件中寫東西~)

done.js為entry入口文件,這個文件中只寫配置,不做具體處理,當(dāng)然webpack也建議我們這么做

  • 我們這樣修改
    1.創(chuàng)建一個新的js文件,(我用的是content.js),將done.js內(nèi)容復(fù)制過來,寫一些也可以,沒倆字。
    2.修改 done.js
require('./content')

你可以看效果了


  • 然而并沒完,把css和img文件一起打包了
    • 先將index.html文件中的css引入刪除
    • 在done.js中引入 require('./style.css'); (到這里執(zhí)行webpack并沒有效果)
    • 安裝css加載器
npm install css-loader style-loader
  • 配置webpack.config文件
 module.exports = {
    entry:'./done.js' , 
    output:{                  
          path:__dirname,                   
          filename:'main.js'
     },
     module:{
          loaders:[
                {test:/\.css$/,loader:'style-loader!css-loader'}    //這里的style-loader!和css-loader是可以省略loader的,寫成style!css,下面你會看到和他對應(yīng)的地方
          ]
    }
}
  • 引入css文件——在done.js中加入
require('!style-loader!css-loader!.style.css'); //這里需要看和上面配置文件中的對應(yīng)點
  • 執(zhí)行webpack,查看效果

  • 隨便搞來一張圖片(我已經(jīng)重命名為1.png),我們來測試webpack的圖片加載器

  • 安裝url加載器,注意加載圖片的不是image-loader而是url-loader

npm install url-loader

配置webpack.config

 module.exports = {
    entry:'./done.js' , 
    output:{                   
          path:__dirname,                   
          filename:'main.js'
     },
     module:{
          loaders:[
                {test:/\.css$/,loader:'style-loader!css-loader'},
                {test:/\.(png|jpg|jpeg|gif)$/,loader:'url-loader?limit = 1024'} //limit是參數(shù),如果小于1k就直接轉(zhuǎn)Base64,可選    
          ]
    }
}
  • 通過webpack加載圖片,打開done.js
require('url-loader?mimetype=image/png!./1.png');
  • 頁面中該怎么用就怎么用吧!

  • 最后是個重磅的東西,es6自動轉(zhuǎn)碼 ----babel-loader
  • 安裝
npm install babel-loader babel-core babel-preset-es2015 --save-dev
  • 配置
 module.exports = {
    entry:'./done.js' , 
    output:{                   
          path:__dirname,                   
          filename:'main.js'
     },
     module:{
          loaders:[
                {test:/\.css$/,loader:'style-loader!css-loader'},
                {test:/\.(png|jpg|jpeg|gif)$/,loader:'url-loader?limit = 1024'},
                {test:/\.js$/,loader:'babel-loader?presets[]=es2015'}//這個有多種配置,探究竟請點擊下面連接
          ]
    }
}

前方高能,請點擊查看

  • 官方聲明由于babel-loader執(zhí)行慢,可以使用babel-runtime,這個和babel配置類似,請點擊上面高能地址配置。

好了,這個插件基本就就是這樣了,在現(xiàn)代javascript屌炸天的時代開發(fā)大中型項目使用還是相當(dāng)不錯的。

案例很短,大家可以自己測試運行,有什么問題歡迎留言,共同探討!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,379評論 7 35
  • GitChat技術(shù)雜談 前言 本文較長,為了節(jié)省你的閱讀時間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,914評論 7 110
  • 最近在學(xué)習(xí) Webpack,網(wǎng)上大多數(shù)入門教程都是基于 Webpack 1.x 版本的,我學(xué)習(xí) Webpack 的...
    My_Oh_My閱讀 8,344評論 40 247
  • 學(xué)習(xí)流程 參考文檔:入門Webpack,看這篇就夠了Webpack for React 一. 簡單使用webpac...
    Jason_Zeng閱讀 3,265評論 2 16
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,681評論 2 71

友情鏈接更多精彩內(nèi)容