成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

webpack使用之基礎(chǔ)篇

zhichangterry / 1175人閱讀

摘要:是一個(gè)和差不多同時(shí)代的產(chǎn)物,但是它只支持基于,對于來說只能興嘆了。找一個(gè)自己順手的就好,順便一提,我現(xiàn)在主要使用輔助。

說到自動(dòng)化構(gòu)建,你想到了什么?基于AMD的requirejs?還是基于commoJS的browserify?他們都在各自的領(lǐng)域或者說時(shí)代發(fā)揮了很重要的作用。
但是時(shí)代的變遷,webpack成了現(xiàn)在的佼佼者,我們不知道什么時(shí)候wepback也會被取代,但是現(xiàn)在我們必須要掌握。
我不擔(dān)心我學(xué)完webpack新東西來了就沒用了,相反的我很期待也很高興有新的東西來取代webpack,因?yàn)槿绻苋〈?,必然是更好的東西。如果是更好的,那又為什么要拒絕呢?活在當(dāng)下,認(rèn)真學(xué)習(xí)。

一、基本簡介

webpack和requirejs browserify一樣,都是一款打包工具,那為什么要選這個(gè)?我們進(jìn)行一個(gè)對比

1. requirejs

很老的產(chǎn)物了,它興起的時(shí)候web模塊化的標(biāo)準(zhǔn)都還沒有完善。那個(gè)時(shí)候出了一款基于AMD的打包工具,
不得不說對前端的發(fā)展起到了至關(guān)重要的作用,如果它可以功成身退了。

2. browserify

是一個(gè)和webpack差不多同時(shí)代的產(chǎn)物,但是它只支持基于commonJS,對于AMD來說只能興嘆了。
并且它只支持打包js,如果你對這兩個(gè)缺點(diǎn)不那么在意,那么就是它了。

3. webpack

支持AMD和commonJS,以模塊化為起點(diǎn),我們不僅可以用它打包js,也可以打包c(diǎn)ss,
包括圖片。webpack把任何一個(gè)文件都看成一個(gè)模塊,因此你準(zhǔn)備好要迎接模塊化的挑戰(zhàn)了嗎?

二、環(huán)境搭建 1. IDE推薦

IDEA、webstrom、sublimeatom 都是很不錯(cuò)的編輯工具,idea大而全,webstromidea的簡化版、sublime輕量但不失穩(wěn)重、atom新興但不失典雅,東西不分上下,重在自己喜歡。找一個(gè)自己順手的就好,順便一提,我現(xiàn)在主要使用IDEA、輔助atom。因?yàn)槲沂且粋€(gè)java黨啊,少不了IDEA,atom的界面是我最喜歡的。

2. 開始建項(xiàng)目寫配置

a.新建項(xiàng)目 mkdir webpack-study && cd webpack-study
b.初始化環(huán)境 npm init -y
c.安裝工具(如果你沒安裝taobao源,把cnpm換成npm) npm install --save-dev webpack webpack-dev-server
說明:webpack是核心文件、wepback-dev-server是類http-server的web啟動(dòng)工具,建議安裝一下這個(gè)server
d.新建配置文件 (名字一定不能換) touch webpack.config.js

配置webpack

module. exports ={
  entry:"./index.js",
  output:{
    path:__dirname+"/dist",
    filename:"bundle.js"
  }
}

說明:
模塊化module.export
入口文件:entry 有幾個(gè)頁面就有幾個(gè)entry 如果是單頁面(spa),一個(gè)entry就夠了
輸出 output,path是輸出路徑,__dirname是nodejs的全局變量,表示當(dāng)前目錄, filename,打包后的文件名

三、 寫一個(gè)小測試 1. 新建入口文件并寫入文件

vim index.js
document.write("Hello world");

2. 新建一個(gè)css

touch style.css

  body{
    background-color:pink;
  }
3.新建一個(gè)html

touch index.html
寫下以下內(nèi)容

  
  
  
    
    hello webpack
    
  
  
  
  

說明:
模塊化module.export
入口文件:entry 有幾個(gè)頁面就有幾個(gè)entry 如果是單頁面(spa),一個(gè)entry就夠了
輸出 output,path是輸出路徑,__dirname是nodejs的全局變量,表示當(dāng)前目錄, filename,打包后的文件名

三、 寫一個(gè)小測試 1. 新建入口文件并寫入文件

vim index.js document.write("Hello world");

2. 新建一個(gè)css

touch style.css

  body{
    background-color:pink;
  }
3.新建一個(gè)html

touch index.html
寫下以下內(nèi)容

  
  
  
    
    hello webpack
    
  
  
  
  
4.webpack的重頭戲

那就是loaders,wepback的一大特色就是可以將一些瀏覽器不能原生支持的文件通過loaders編譯成瀏覽器可以支持的文件
a.安裝loaders
npm install style-loader css-loader
b.打開webpack.config.js
添加模塊

  module:{
    loaders:[
    {
      test:/.css$/,
      loaders:["style-loader","css-loader"]
      }
  ]

  }

說明:
模塊下定義大的loaders去loader需要的東西,它是一個(gè)數(shù)組,意味著它可以定義多個(gè)
一個(gè)對象就是一個(gè)loader,test用正則匹配文件后綴
loaders指定采用哪個(gè)loader,注意它是從右往左執(zhí)行,所以這里先執(zhí)行css-loader
css-loader處理css的一些url,包括相對的絕對的之類的東西
style-loader 是將css文件采用js動(dòng)態(tài)寫入html頁面
c.使用css
打開index.js (因?yàn)槲覀冞@里沒有用babel,所以就用es5來寫)
require("./style.css");

四、查看效果

我們現(xiàn)在可以使用webpack-dev-server這個(gè)東西了
如果你己經(jīng)全局安裝了(cnpm install -g webpack-dev-server),直接命令webpack-dev-server就可以開起來了,當(dāng)然你也可以在package.json文件里面添加script,文件如下

{
"name": "webpack-study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start":"webpack-dev-server --progress",
"build":"webpack --progress",
"test": "echo "Error: no test specified" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"css-loader": "^0.23.1",
"style-loader": "^0.13.1",
"webpack": "^1.13.0",
"webpack-dev-server": "^1.14.1"
  }
}

這里我們就可以使用npm run build來編譯,使用npm run start來開啟服務(wù)器

?  webpack-study git:(master) ? npm run build

> [email protected] build /Users/xiaomo/workspace/webpack-study
> webpack --progress
Hash: 11ffef2911f2436a3948
Version: webpack 1.13.0
Time: 64ms
    Asset     Size  Chunks             Chunk Names
bundle.js  1.42 kB       0  [emitted]  main
   [0] ./index.js 30 bytes {0} [built]
   ?  webpack-study git:(master) ? npm run start

   > [email protected] start /Users/xiaomo/workspace/webpack-study
   > webpack-dev-server --progcess

   http://localhost:8080/webpack-dev-server/
   webpack result is served from /
   content is served from /Users/xiaomo/workspace/webpack-study
   Hash: 11ffef2911f2436a3948
   Version: webpack 1.13.0
   Time: 80ms
       Asset     Size  Chunks             Chunk Names
   bundle.js  1.42 kB       0  [emitted]  main
   chunk    {0} bundle.js (main) 30 bytes [rendered]
       [0] ./index.js 30 bytes {0} [built]
   webpack: bundle is now VALID.

b.然后訪問 http://locahost:8080 就可以看到效果了

五、動(dòng)態(tài)效果展示和總結(jié) 1. 總共有5個(gè)文件

webpack.config.ks、index.js、index.htmlstyle.css、package.json,編譯好要使用的只有index.htmldist/bundle.js兩個(gè)文件

2. gif動(dòng)畫

會展示一下5個(gè)文件的內(nèi)容

3. 演示一下效果


如果覺得圖小可以點(diǎn)擊下面鏈接查看大圖
webpack的簡單使用

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79697.html

相關(guān)文章

  • WMOSwebpack(一)

    摘要:版本目前最新的版本是,而我也是在此基礎(chǔ)上進(jìn)行學(xué)習(xí)和開發(fā)的。能夠?qū)D片進(jìn)行一些處理。目前我還沒有達(dá)到那種程度,所以一步一步來。簡化了文件的創(chuàng)建,以便為您的包提供服務(wù)。的對象的配置對象。的作用是來匹配相應(yīng)的文件。 關(guān)于WMOS 好吧,作為第一個(gè)系列第一篇的內(nèi)容估計(jì)沒多少人會看,所以大概會寫的比較爛,還請看的人見諒。至于關(guān)于WMOS是什么,在這篇文章里不是十分重要,就先賣個(gè)關(guān)子,以后(大概吧...

    int64 評論0 收藏0
  • 前端每周清單半年盤點(diǎn) Angular

    摘要:延伸閱讀學(xué)習(xí)與實(shí)踐資料索引與前端工程化實(shí)踐前端每周清單半年盤點(diǎn)之篇前端每周清單半年盤點(diǎn)之與篇前端每周清單半年盤點(diǎn)之篇 前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(ID:frontshow),及時(shí)獲取前端每周清單;本文則是對于半年來發(fā)布的前端每周清單...

    LeviDing 評論0 收藏0
  • webpack進(jìn)階插件

    摘要:基本環(huán)境搭建就不展開講了一插件篇自動(dòng)補(bǔ)全前綴官方是這樣說的,也就是說它是一個(gè)自動(dòng)檢測兼容性給各個(gè)瀏覽器加個(gè)內(nèi)核前綴的插件。 上一篇博客講解了webpack環(huán)境的基本,這一篇講解一些更深入的內(nèi)容和開發(fā)技巧?;经h(huán)境搭建就不展開講了showImg(http://static.xiaomo.info/images/webpack.png); 一、插件篇 1. 自動(dòng)補(bǔ)全css3前綴 autop...

    Tonny 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

    jsbintask 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<