<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        針對webpack2和模塊打包相關(guān)問題總結(jié)

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:14:39
        文檔

        針對webpack2和模塊打包相關(guān)問題總結(jié)

        針對webpack2和模塊打包相關(guān)問題總結(jié):本篇文章主要介紹了關(guān)于webpack2和模塊打包的新手指南(小結(jié)),具有一定的參考價值,感興趣的小伙伴們可以參考一下。webpack已成為現(xiàn)代Web開發(fā)中最重要的工具之一。它是一個用于JavaScript的模塊打包工具,但是它也可以轉(zhuǎn)換所有的前端資源,例如HTML和C
        推薦度:
        導(dǎo)讀針對webpack2和模塊打包相關(guān)問題總結(jié):本篇文章主要介紹了關(guān)于webpack2和模塊打包的新手指南(小結(jié)),具有一定的參考價值,感興趣的小伙伴們可以參考一下。webpack已成為現(xiàn)代Web開發(fā)中最重要的工具之一。它是一個用于JavaScript的模塊打包工具,但是它也可以轉(zhuǎn)換所有的前端資源,例如HTML和C
        本篇文章主要介紹了關(guān)于webpack2和模塊打包的新手指南(小結(jié)),具有一定的參考價值,感興趣的小伙伴們可以參考一下。

        webpack已成為現(xiàn)代Web開發(fā)中最重要的工具之一。它是一個用于JavaScript的模塊打包工具,但是它也可以轉(zhuǎn)換所有的前端資源,例如HTML和CSS,甚至是圖片。它可以讓你更好地控制應(yīng)用程序所產(chǎn)生的HTTP請求數(shù)量、允許你使用其他資源的特性(例如Jade、Sass和ES6)。webpack還可以讓你輕松地從npm下載包。

        本文主要針對那些剛接觸webpack的同學(xué),將介紹初始設(shè)置和配置、模塊、加載器、插件、代碼分割和熱模塊替換。

        在繼續(xù)學(xué)習(xí)下面的內(nèi)容之前需要確保你的電腦中已經(jīng)安裝了Node.js。

        初始配置

        使用npm初始化一個新項目并安裝webpack:

        mkdir webpack-demo
        cd webpack-demo
        npm init -y
        npm install webpack@beta --save-dev
        mkdir src
        touch index.html src/app.js webpack.config.js

        編寫下面這些文件:

        <!-- index.html -->
        <!DOCTYPE html>
        <html lang="en">
         <head>
         <meta charset="utf-8">
         <title>Hello webpack</title>
         </head>
         <body>
         <p id="root"></p>
         <script src="dist/bundle.js"></script>
         </body>
        </html>

        上面的配置是一個普通的出發(fā)點,它通知webpack將入口文件src/app.js編譯輸出到文件/dist/bundle.js中、使用babel將所有的.js文件從ES2015轉(zhuǎn)換成ES5。

        為了讓它可以轉(zhuǎn)換到ES5格式的JS文件,我們需要安裝三個包:babel-core、webpack加載器babel-loader和預(yù)置babel-preset-es2015。使用{ modules: false }讓Tree Shaking 從打包文件中刪除未使用的導(dǎo)出項(exports)以減少文件大小。

        npm install babel-core babel-loader babel-preset-es2015 --save-dev

        最后,用以下內(nèi)容替換package.json的scripts部分:

        在命令行中運行npm start將以監(jiān)視模式啟動webpack,當(dāng)src目錄中的.js文件更改時,它將重新編譯bundle.js。控制臺中的輸出展示了打包文件的信息,注意打包文件的數(shù)量和大小十分重要。

        現(xiàn)在當(dāng)你在瀏覽器中加載index.html頁面時會看到"Hello webpack."。

        open index.html

        打開dist/bundle.js文件看看webpack都做了哪些事情,頂部是webpack的模塊引導(dǎo)代碼,底部是我們的模塊。到目前為止,你可能對于這個還沒有一個深刻的印象。但是現(xiàn)在你可以開始編寫ES6模塊,webpack將生成適用于所有瀏覽器的打包文件。

        使用Ctrl + C停止webpack,運行npm run build以生產(chǎn)模式編譯我們的bundle.js。

        注意,打包文件的大小從2.61 kB減少到了585字節(jié)。再看一下dist/bundle.js文件,你會看到大量難懂的代碼,因為我們使用UglifyJS壓縮了它。這樣的話,我們可以使用更少的代碼達(dá)到與之前一樣的效果。

        模塊

        優(yōu)秀的webpack知道如何使用各種格式的JavaScript模塊,最著名的兩個是:

      1. ES2015 import語句

      2. CommonJS require()語句

      3. 我們可以通過安裝、導(dǎo)入lodash來測試這些格式的模塊。

        npm install lodash --save

        運行npm start啟動webpack并刷新index.html,你可以看到一個根據(jù)manager分組的數(shù)組。

        讓我們將這個數(shù)組轉(zhuǎn)移到它自己的模塊people.js中。

        我們可以在app.js中使用相對路徑輕松的導(dǎo)入它。

        注意:像lodash/collection這樣沒有相對路徑的導(dǎo)入是導(dǎo)入安裝在/node_modules的模塊,你自己的模塊需要一個類似./people的相對路徑,你可以以此區(qū)分它們。

        加載器

        我們已經(jīng)介紹過,你可以通過配置像babel-loader這樣的加載器來告訴webpack在遇到不同文件類型的導(dǎo)入時該怎么做。你可以將多個加載器組合在一起,應(yīng)用到很多文件轉(zhuǎn)換中。在JS中導(dǎo)入.sass文件是一個非常的例子。

        Sass

        這種轉(zhuǎn)換涉及三個單獨的加載器和node-sass庫:

        npm install css-loader style-loader sass-loader node-sass --save-dev

        在配置文件中為.scss文件添加新規(guī)則。

        注意: 任何時候更改webpack.config.js中的任意一個加載規(guī)則都需要使用Ctrl + Cnpm start重新啟動構(gòu)建。

        加載器序列以相反的順序進行處理:

      4. sass-loader 將Sass轉(zhuǎn)換為CSS。

      5. css-loader 將CSS解析為JavaScript并解析所有依賴。

      6. style-loader將我們的CSS輸出到文檔中的

      7. 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        針對webpack2和模塊打包相關(guān)問題總結(jié)

        針對webpack2和模塊打包相關(guān)問題總結(jié):本篇文章主要介紹了關(guān)于webpack2和模塊打包的新手指南(小結(jié)),具有一定的參考價值,感興趣的小伙伴們可以參考一下。webpack已成為現(xiàn)代Web開發(fā)中最重要的工具之一。它是一個用于JavaScript的模塊打包工具,但是它也可以轉(zhuǎn)換所有的前端資源,例如HTML和C
        推薦度:
        標(biāo)簽: 小結(jié) webpack 模塊打包
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日韩亚洲不卡在线视频中文字幕在线观看| 国产性爱在线观看亚洲黄色一级片| 亚洲国产视频网站| 人妻无码久久一区二区三区免费| 久久久久久久综合日本亚洲| 日韩免费高清播放器| 亚洲最大中文字幕| 99热在线精品免费播放6| 亚洲日本中文字幕区| 69av免费观看| 国产L精品国产亚洲区久久| 暖暖免费中文在线日本| 久久精品国产亚洲一区二区三区| 国产区在线免费观看| 亚洲综合自拍成人| 可以免费看黄视频的网站| 精品国产亚洲一区二区三区在线观看| 又爽又高潮的BB视频免费看| 亚洲成人动漫在线观看| 卡一卡二卡三在线入口免费| 美女18毛片免费视频| 夜夜春亚洲嫩草影院| 精品一区二区三区无码免费直播| 亚洲AV无码乱码在线观看| 国产午夜精品久久久久免费视| 日本免费的一级v一片| 香蕉视频在线观看免费| 亚洲情XO亚洲色XO无码| 全免费毛片在线播放| 久香草视频在线观看免费| 无码久久精品国产亚洲Av影片| 国内精自视频品线六区免费| 亚洲aⅴ天堂av天堂无码麻豆| 国产亚洲精aa成人网站| 2019中文字幕免费电影在线播放| 亚洲国产精品免费观看| 亚洲一级片免费看| 7723日本高清完整版免费| 一个人免费观看www视频| 亚洲一区二区三区亚瑟 | 亚洲电影中文字幕|