国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Webpack快速入門

LMou / 682人閱讀

摘要:了解相關(guān)什么是是一個(gè)模塊打包器。配置文件默認(rèn)是一個(gè)模塊,返回一個(gè)格式的配置信息對(duì)象插件插件件可以完成一些不能完成的功能。插件的使用一般是在的配置信息選項(xiàng)中指定。

了解Webpack相關(guān)

什么是webpack

Webpack是一個(gè)模塊打包器(bundler)。

在Webpack看來(lái), 前端的所有資源文件(js/css/img/less/...)都會(huì)作為模塊處理

它將根據(jù)模塊的依賴關(guān)系進(jìn)行靜態(tài)分析,生成對(duì)應(yīng)的靜態(tài)資源

理解Loader

Webpack 本身只能加載JS模塊,如果要加載其他類型的文件(模塊),就需要使用對(duì)應(yīng)的loader 進(jìn)行轉(zhuǎn)換/加載

Loader 本身也是運(yùn)行在 node.js 環(huán)境中的 JavaScript 模塊

它本身是一個(gè)函數(shù),接受源文件作為參數(shù),返回轉(zhuǎn)換的結(jié)果

loader 一般以 xxx-loader 的方式命名,xxx 代表了這個(gè) loader 要做的轉(zhuǎn)換功能,比如 json-loader。

配置文件(默認(rèn))

webpack.config.js : 是一個(gè)node模塊,返回一個(gè) json 格式的配置信息對(duì)象

插件

插件件可以完成一些loader不能完成的功能。

插件的使用一般是在 webpack 的配置信息 plugins 選項(xiàng)中指定。

Webpack 本身內(nèi)置了一些常用的插件,還可以通過(guò) npm 安裝第三方插件

學(xué)習(xí)文檔 :

webpack官方入門: http://webpack.github.io/docs...

Webpack中文指南: http://zhaoda.net/webpack-han...

你將學(xué)到:

How to install webpack

How to use webpack

How to use loaders

How to use the development server

How to use image

初始化項(xiàng)目: package.json

</>復(fù)制代碼

  1. {
  2. "name": "webpack_test",
  3. "version": "1.0.0"
  4. }

安裝webpack

</>復(fù)制代碼

  1. npm install webpack@1 -g //全局安裝
  2. npm install webpack@1 --save-dev //局部安裝

開(kāi)始編譯

創(chuàng)建入口src/js/ : entry.js

</>復(fù)制代碼

  1. document.write("entry.js is work");

創(chuàng)建主頁(yè)面 build/: index.html

</>復(fù)制代碼

編譯js

</>復(fù)制代碼

  1. webpack src/js/entry.js build/js/build.js

查看頁(yè)面效果

第二個(gè)js

創(chuàng)建第二個(gè)js: src/js/content.js

</>復(fù)制代碼

  1. module.exports = "
    It works from content.js";

更新入口js : entry.js

</>復(fù)制代碼

  1. * document.write("entry.js is works.");
  2. * document.write(require("./content.js"));

編譯js:

</>復(fù)制代碼

  1. webpack src/js/entry.js build/js/build.js

查看頁(yè)面效果

第一個(gè)加載器(loader)

安裝樣式的loader

</>復(fù)制代碼

  1. npm install css-loader style-loader --save-dev

創(chuàng)建樣式文件: src/css/test.css

</>復(fù)制代碼

  1. body {
  2. background: red;
  3. }

更新入口js : entry.js

</>復(fù)制代碼

  1. + require("style-loader!css-loader!../css/test.css");
  2. * document.write("entry.js is works.");
  3. * document.write(require("./content.js"));

編譯js, 并查看頁(yè)面效果

</>復(fù)制代碼

  1. webpack src/js/entry.js build/js/bundle.js

綁定加載器

更新入口js : entry.js

</>復(fù)制代碼

  1. - require("style-loader!css-loader!./test.css");
  2. + require("./test.css");

編譯:

</>復(fù)制代碼

  1. webpack src/js/entry.js build/js/bundle.js --module-bind css=style-loader!css-loader

查看頁(yè)面效果

使用webpack配置文件

創(chuàng)建webpack.config.js

</>復(fù)制代碼

  1. module.exports = {
  2. entry: "./src/js/entry.js",//入口路徑配置
  3. output: {//出口配置
  4. path: __dirname + "/build/js",//輸出路徑
  5. filename: "bundle.js"http://輸出文件名
  6. },
  7. module: {
  8. loaders: [//模塊加載器配置
  9. { test: /.css$/, loader: "style!css"} //所有css文件聲明使用css-loader和style-loader加載器
  10. ]
  11. }
  12. };

編譯

</>復(fù)制代碼

  1. webpack
  2. webpack --progress //編譯顯示進(jìn)度

問(wèn)題---每次修改模塊文件內(nèi)容的重新手動(dòng)打包,刷新

自動(dòng)編譯

</>復(fù)制代碼

  1. webpack --watch //編譯并啟動(dòng)監(jiān)視(但需要刷新瀏覽器)

瀏覽器自動(dòng)刷新(熱加載)----解決手動(dòng)刷新瀏覽器問(wèn)題

</>復(fù)制代碼

  1. npm install webpack-dev-server@1 -g
  2. webpack-dev-server
  3. 訪問(wèn): http://localhost:8080/webpack-dev-server/
  4. ; http://localhost:8080
  5. !!!發(fā)現(xiàn)問(wèn)題----訪問(wèn)的是文件夾路徑而不是頁(yè)面
  6. devServer:{
  7. contentBase: "./build",//內(nèi)置服務(wù)器動(dòng)態(tài)加載頁(yè)面所在的目錄
  8. historyApiFallback:true,//不跳轉(zhuǎn)
  9. inline:true
  10. }
  11. contentBase : 默認(rèn)webpack-dev-server為根文件夾提供內(nèi)置的服務(wù),如果其他目錄下的文件
  12. 提供服務(wù)需要在此設(shè)置目錄(我們?cè)O(shè)置為build文件夾)
  13. historyApiFallback : 開(kāi)發(fā)單頁(yè)面的時(shí)候非常有用,它依賴于H5的 history API,當(dāng)
  14. 設(shè)置為true的時(shí)候所有的跳轉(zhuǎn)都指向index.html;
  15. port:可以設(shè)置端口號(hào),不設(shè)置時(shí)候默認(rèn)為 8080
  16. inline : 設(shè)置為true的時(shí)候回自動(dòng)刷新(有的版本需要配合hot : true使用)
  17. webpack-dev-server
  18. 訪問(wèn): http://localhost:8080
  19. 問(wèn)題:頁(yè)面沒(méi)有熱加載,自動(dòng)刷新,因?yàn)閕ndex的src引入的硬盤中的build文件而不是webpack-dev-server服務(wù)器內(nèi)存中的build
  20. 特點(diǎn):
  21. 自動(dòng)編譯并刷新界面
  22. 不生成編譯后的文件, 直接在內(nèi)存中編譯處理, 并啟動(dòng)服務(wù)器運(yùn)行項(xiàng)目

加載圖片

安裝依賴的loader

</>復(fù)制代碼

  1. npm install url-loader file-loader --save-dev
  2. url-loader比f(wàn)ile-loader功能更加完善是對(duì)file-loader的上層封裝,但二者需配合使用

添加config中l(wèi)oader的配置

</>復(fù)制代碼

  1. { test: /.(png|jpg)$/, loader: "url-loader?limit=8192" } //如果圖片小于limit就會(huì)進(jìn)行Base64編碼

拷入2張圖片:

小圖: img/logo.png

大圖: img/big.jpg

定義引用圖片的樣式: test.css

</>復(fù)制代碼

  1. #box1{
  2. background-image: url(../img/logo.jpg);
  3. height: 200px;
  4. width: 200px;
  5. }
  6. #box2{
  7. background-image: url(../img/big.jpg);
  8. height: 200px;
  9. width: 200px;
  10. }

在頁(yè)面引用樣式或圖片: index.html

</>復(fù)制代碼

編譯并瀏覽

</>復(fù)制代碼

  1. webpack-dev-server

圖片打包問(wèn)題

</>復(fù)制代碼

  1. 1、圖片大于8kb的時(shí)候無(wú)法打包到j(luò)s文件中,
  2. 2、index.html引入js的時(shí)候發(fā)現(xiàn)沒(méi)有打包進(jìn)去的圖片路徑不對(duì)
  3. 3、解決方法:
  4. * //publicPath : "./js/",//webpack的絕對(duì)路徑,設(shè)置服務(wù)index.html資源的路徑

配置npm script命令

</>復(fù)制代碼

  1. "scripts": {
  2. "start": "webpack-dev-server",
  3. "build": "webpack"
  4. }
  5. npm start: 編譯運(yùn)行項(xiàng)目
  6. npm build: 編譯打包

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/51012.html

相關(guān)文章

  • Webpack快速入門

    摘要:了解相關(guān)什么是是一個(gè)模塊打包器。配置文件默認(rèn)是一個(gè)模塊,返回一個(gè)格式的配置信息對(duì)象插件插件件可以完成一些不能完成的功能。插件的使用一般是在的配置信息選項(xiàng)中指定。 了解Webpack相關(guān) 什么是webpack Webpack是一個(gè)模塊打包器(bundler)。 在Webpack看來(lái), 前端的所有資源文件(js/css/img/less/...)都會(huì)作為模塊處理 它將根據(jù)模塊的依...

    laznrbfe 評(píng)論0 收藏0
  • Webpack快速入門

    摘要:了解相關(guān)什么是是一個(gè)模塊打包器。配置文件默認(rèn)是一個(gè)模塊,返回一個(gè)格式的配置信息對(duì)象插件插件件可以完成一些不能完成的功能。插件的使用一般是在的配置信息選項(xiàng)中指定。 了解Webpack相關(guān) 什么是webpack Webpack是一個(gè)模塊打包器(bundler)。 在Webpack看來(lái), 前端的所有資源文件(js/css/img/less/...)都會(huì)作為模塊處理 它將根據(jù)模塊的依...

    curried 評(píng)論0 收藏0
  • Webpack系列—快速入門

    摘要:如使用插件為我們自動(dòng)生成一個(gè)文件。安裝使用生產(chǎn)和開(kāi)發(fā)構(gòu)建分離生產(chǎn)和開(kāi)發(fā)中的構(gòu)建肯定是不同,生產(chǎn)中側(cè)重于一個(gè)更好的開(kāi)發(fā)體驗(yàn),而生產(chǎn)環(huán)境中則需要更多的性能優(yōu)化,更小的。可以指定命令運(yùn)行以來(lái)的配置文件,通過(guò)在中寫(xiě)入是一種不錯(cuò)的方式。 原文地址:https://github.com/huruji/blog/issues/3 入口 單文件入口指定entry鍵值 const config = { ...

    TIGERB 評(píng)論0 收藏0
  • vue-cli “從入門到放棄”

    摘要:主要作用目錄結(jié)構(gòu)本地調(diào)試代碼部署熱加載單元測(cè)試在如今前端技術(shù)飛速發(fā)展的時(shí)代,和作為前端框架已經(jīng)呈現(xiàn)出了三國(guó)鼎立的局面。 主要作用:目錄結(jié)構(gòu)、本地調(diào)試、代碼部署、熱加載、單元測(cè)試 在如今前端技術(shù)飛速發(fā)展的時(shí)代,angular.js、vue.js 和 react.js 作為前端框架已經(jīng)呈現(xiàn)出了三國(guó)鼎立的局面。作為國(guó)人若你不知道 vue,小生表示可以理解,如果作為中國(guó)的前端猿不知道 vue,...

    DrizzleX 評(píng)論0 收藏0
  • vue-cli “從入門到放棄”

    摘要:主要作用目錄結(jié)構(gòu)本地調(diào)試代碼部署熱加載單元測(cè)試在如今前端技術(shù)飛速發(fā)展的時(shí)代,和作為前端框架已經(jīng)呈現(xiàn)出了三國(guó)鼎立的局面。 主要作用:目錄結(jié)構(gòu)、本地調(diào)試、代碼部署、熱加載、單元測(cè)試 在如今前端技術(shù)飛速發(fā)展的時(shí)代,angular.js、vue.js 和 react.js 作為前端框架已經(jīng)呈現(xiàn)出了三國(guó)鼎立的局面。作為國(guó)人若你不知道 vue,小生表示可以理解,如果作為中國(guó)的前端猿不知道 vue,...

    william 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

LMou

|高級(jí)講師

TA的文章

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