日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

webpack --- [4.x]你能看懂的webpack项目初始化

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webpack --- [4.x]你能看懂的webpack项目初始化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明:

  • 本篇文章主要做如下事情:
  • 創建一個基本的webpack4.x 項目
  • [報錯]: The 'mode' option has not been set, webpack will fallback to 'production' for this value
  • [報錯]: ERROR in Entry module not found: Error: Can not resolve './src' in 'D:\L-react\HeiMa\01.webpack-base'
  • [插件] :webpack-dev-server
  • [插件] : html-webpack-plugin
    • 項目源代碼

    創建基本的 webpack4.x 項目

    • 1.快速初始化一個項目: npm init -y
    • 2.在項目根目錄創建 src源代碼目錄和dist產品目錄
    • 3.在 src 目錄下創建index.html
    • 4.使用 cnpm 安裝 webpack,運行cnpm i webpack -D
    • 5.使用 cnpm 安裝 webpack-cli,運行cnpm i webpack-cli -D

    webpack常見報錯

    The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.

    • 原因是缺少mode
    • 4.x中新增了mode. production屬性,會默認對文件進行壓縮.

    ERROR in Entry module not found: Error: Can not resolve './src' in 'D:\L-react\HeiMa\01.webpack-base'

    • 入口文件未找到,在 webpack 4.x 中,不需要配置入口文件, 采用約定大于配置原則. 默認的打包入口路徑是 src -> index.js.
    • 默認約定了
    • 打包入口文件 ./src/index.js
    • 打包的輸出文件是 ./dist/main.js

    新建 webpack.config.js

    • 向外暴露成員: mopdule.exports or export default

    配置好模式和入口文件后

    • 手動在最開始的頁面中引入 js 文件
    <script src="../dist/main.js"></script>

    webpack-dev-server

    • cnpm i webpack-dev-server -D
    • 每次寫完代碼手動調用webpack去打包代碼太麻煩,因此使用 webpack-dev-server來進行自動打包構建
    • 使用 webpack-dev-server啟動.
    • Project is running at http://localhost:8080: 項目正在8080端口運行(此時是一個小型的服務器)
    • webpack output is served from /: 托管的的路徑是根路徑. 在此項目中即: 01.webpack-base
    • 通過webpack-dev-server打包生成的main.js為了提高性能,是放在內存中的.

    [所做事情]

  • 保存時,自動打包生成一個main.js在內存中(注意,不是在磁盤)
  • --open: 自動打開瀏覽器
  • --port 3000: 指定端口
  • --hot: 熱更新
  • --progress: 打包記錄
  • --compress: 壓縮
  • --host 127.0.0.1: 指定主機ip

  • html-webpack-plugin

    • cnpm i html-webpack-plugin -D
    • 未配置html-webpack-plugin的主頁是在磁盤上面的,磁盤的讀取速度不如內存
    • 使用
    const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin');const htmlPlugin = new HtmlWebpackPlugin({template: path.join(__dirname, './src/index.html'), // 源文件filename: 'index.html' // 生成在內存中首頁的名稱 })module.exports = {mode: 'development',plugins: [htmlPlugin] }

    [所做事情]:

  • 根據給定模板,在給定路徑下生成內存中的主頁
  • 會自動添加<script type="text/javacript" src="main.js"></script>

  • 小結:

  • 上面2個插件的主要思想是: 減少磁盤相關的操作,利用內存的快速
  • React的虛擬DOM也是使用內存中的對象來描述真實的DOM
  • 總結

    以上是生活随笔為你收集整理的webpack --- [4.x]你能看懂的webpack项目初始化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。