• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Vue前端工程化--webpack簡介及使用

    標簽: Vue.js

    webpack

    一、當前 Web 開發面臨的困境

    • 文件依賴關系錯綜復雜
    • 靜態資源請求效率低
    • 模塊化支持不友好
    • 瀏覽器對高級 Javascript 特性兼容程度較低
    • etc…

    二、webpack 概述

    webpack 是一個流行的前端項目構建工具(打包工具),可以解決當前 web 開發中所面臨的困境。 webpack 提供了友好的模塊化支持,以及代碼壓縮混淆、處理 js 兼容問題、性能優化等強大的功能,從而讓程序員把 工作的重心放到具體的功能實現上,提高了開發效率和項目的可維護性。

    目前絕大多數企業中的前端項目,都是基于 webpack 進行打包構建的。
    在這里插入圖片描述

    三、安裝webpack

    1. 打開項目目錄終端,輸入命令:
    npm install webpack webpack-cli -D
    
    2. 然后在項目根目錄中,創建一個 webpack.config.js 的配置文件用配置webpack在 webpack.config.js 文件中編寫代碼進行webpack配置,如下:
    module.exports = {
        mode:"development"//可以設置為development(開發模式),production(發布模式)
    }
    

    補充:mode設置的是項目的編譯模式。
    如果設置為development則表示項目處于開發階段,不會進行壓縮和混淆打包速度會快一些如果設置為production則表示項目處于上線發布階段,會進行壓縮和混淆打包速度會慢一些

    3. 修改項目中的package.json文件添加運行腳本dev,如下:
    "scripts":{
        "dev":"webpack"
    }
    

    注意:scripts節點下的腳本,可以通過 npm run 運行,如:運行終端命令:npm run dev將會啟動webpack進行項目打包

    4. 運行dev命令進行項目打包,并在頁面中引入項目打包生成的js文件打開項目目錄終端,輸入命令:
    npm run dev
    

    等待webpack打包完畢之后,找到默認的dist路徑中生成的main.js文件將其引入到html頁面中。瀏覽頁面查看效果。

    四、設置webpack的打包入口/出口

    在webpack 4.x中,默認會將src/index.js 作為默認的打包入口js文件
    默認會將dist/main.js 作為默認的打包輸出js文件
    如果不想使用默認的入口/出口js文件,我們可以通過改變webpack.config.js 來設置入口/出口的js文件,如下:

    const path = require("path");
    module.exports = {
        mode:"development",
        //設置入口文件路徑
        entry: path.join(__dirname,"./src/xx.js"),
        //設置出口文件
        output:{
            //設置路徑
            path:path.join(__dirname,"./dist"),
            //設置文件名
            filename:"res.js"
        }
    }
    

    五、設置webpack的自動打包

    默認情況下,我們更改入口js文件的代碼,需要重新運行命令打包webpack,才能生成出口的js文件
    那么每次都要重新執行命令打包,這是一個非常繁瑣的事情,那么,自動打包可以解決這樣繁瑣的操作。
    實現自動打包功能的步驟如下:

    1.安裝自動打包功能的包:webpack-dev-server
    npm install webpack-dev-server -D
    
    2.修改package.json中的dev指令如下:
    "scripts":{
        "dev":"webpack-dev-server"
    }
    
    3.將引入的js文件路徑更改為:
    <script src="/bundle.js"></script>
    
    4.運行npm run dev,進行打包
    5.打開網址查看效果:
    http://localhost:8080
    

    注意:webpack-dev-server自動打包的輸出文件,默認放到了服務器的根目錄中.

    補充:
    在自動打包完畢之后,默認打開服務器網頁,實現方式就是打開package.json文件,修改dev命令:

    "dev": "webpack-dev-server --open --host 127.0.0.1 --port 9999"
    

    六、配置html-webpack-plugin

    使用html-webpack-plugin 可以生成一個預覽頁面。
    因為當我們訪問默認的 http://localhost:8080/的時候,看到的是一些文件和文件夾,想要查看我們的頁面
    還需要點擊文件夾點擊文件才能查看,那么我們希望默認就能看到一個頁面,而不是看到文件夾或者目錄。
    實現默認預覽頁面功能的步驟如下:

    1.安裝默認預覽功能的包:html-webpack-plugin
    npm install html-webpack-plugin -D
    
    2.修改webpack.config.js文件,如下:
    //導入包
        const HtmlWebpackPlugin = require("html-webpack-plugin");
        //創建對象
        const htmlPlugin = new HtmlWebpackPlugin({
            //設置生成預覽頁面的模板文件
            template:"./src/index.html",
            //設置生成的預覽頁面名稱
            filename:"index.html"
        })
    
    3.繼續修改webpack.config.js文件,添加plugins信息:
    module.exports = {
        ......
        plugins:[ htmlPlugin ]
    }
     
    

    下一篇介紹webpack中的加載器

    版權聲明:本文為qq_44721831原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_44721831/article/details/103519881

    智能推薦

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    基于TCP/IP的網絡聊天室用Java來實現

    基于TCP/IP的網絡聊天室實現 開發工具:eclipse 開發環境:jdk1.8 發送端 接收端 工具類 運行截圖...

    19.vue中封裝echarts組件

    19.vue中封裝echarts組件 1.效果圖 2.echarts組件 3.使用組件 按照組件格式整理好數據格式 傳入組件 home.vue 4.接口返回數據格式...

    劍指Offer39-調整數組順序使奇數位于偶數前面

    一開始想著用冒泡排序的方法來做,但是bug還是很多,后來看了評論區答案,發現直接空間換時間是最簡單的,而且和快排的寫法是類似的。...

    【一只蒟蒻的刷題歷程】【藍橋杯】歷屆試題 九宮重排 (八數碼問題:BFS+集合set)

    資源限制 時間限制:1.0s 內存限制:256.0MB 問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從上到下,從左到右的順序記錄數字,空格記為句點。 本題目的任務是已知九宮的初態...

    猜你喜歡

    dataV組件容器寬高發生變化后,組件不會自適應解決方法

    項目中需要大屏幕數據展示,于是使用了dataV組件,但是使用是發現拖動瀏覽器邊框,dataV組件顯示異常,如圖: 于是查了官網,官網的解釋如下:   于是按照官網的意思編寫代碼: 于是可以自適應了...

    CSS3干貨10:如何做一個板塊標題水平線左邊帶顏色效果

    很多網站在設計欄目標題的時候,喜歡用下劃線分開欄目標題和內容部分。 而且線條左邊的部分往往還有顏色,且這個顏色跟標題的文字長短保持一致。效果如圖所示: 這種效果其實很簡單。 我這里給大家推薦兩種方式: 假定我們的標題部分 HTML 結構如下: 方式一:利用下邊框。灰色部分是 h1 的下邊框,藍色部分是 span 標簽的下邊框。 h1 的高度為 40px,span 也設置它的高度為 40px。這樣,...

    拜師————python基礎入門——程序的構成,對象,引用,棧內存和堆內存,標識符命名規則——day4

    第九節課:任務9:009.程序的構成 Python程序的構成,一個程序是由什么構成的 1.python程序由模塊組成 , 一個模塊對應一個python源文件,(文件后綴名.py) 2.模塊由語句構成 運行程序時,安裝模塊中語句的順序依次執行。 代碼的組織和縮進 “龜叔”在設計python時,直接通過縮進來組織代碼 縮進時,幾個空格都是允許的,但是空格數必須統一,我們通常用四...

    spark 總結 算子篇

    1、創建工程 在這里添加 spark core包,添加bulid 插件。 算子總結 map 算子 主要是做數據結構的轉換,數據條數不變。 mapPartitions(func) 對分區數據進行轉換。將某一個分區的所有數據拿過來形成一個可迭代的集合要求 返回可迭代的集合。提高效率會使用它。 應用場景: 只對分區內數據進行數據。缺點是不釋放,可能導致oom。 當內存空間較大的時候建議使用 mapPar...

    淺析Redis復制過程

    文章目錄 摘要 復制 當 Master 關閉持久化時,復制的安全性 復制的工作原理 配置 只讀 Slave 寫入Master Slave如何處理key的過期 參考 摘要 Redis默認使用異步復制,其特點是低延遲和高性能。異步復制就意味著在故障轉移期間,有丟失數據的風險。你可以參考Redis 集群文檔,了解關于高可用性和故障轉移的信息,本文主要討論Redis 復制功能的基本特性。 復制 在 Red...

    精品国产乱码久久久久久蜜桃不卡