国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

webpack自動化打包webpack-dev-server

這篇具有很好參考價值的文章主要介紹了webpack自動化打包webpack-dev-server。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

在前面的章節(jié)中我們每次改完要打包的資源文件,和配置文件都是是輸入npx webpack命令手動打包的,那么有沒有什么辦法可以監(jiān)聽到我們代碼的改動,在保存時就自動打包呢?

答案是當(dāng)然有,不然哪些框架的腳手架是怎么實(shí)現(xiàn)保存自動打包的呢,這就是本章要介紹的內(nèi)容,webpack-dev-server插件,自動打包

一、什么是webpack-dev-server

Webpack Dev Server是一個基于Node.js構(gòu)建的Web服務(wù)器,它可以在本地開發(fā)環(huán)境中啟動一個實(shí)時的Web服務(wù)器,并且能夠自動編譯并且刷新瀏覽器,為前端開發(fā)提供了很大的便利。

Webpack Dev Server支持熱模塊替換(HMR),即在應(yīng)用程序運(yùn)行中更新模塊而無需刷新整個頁面,它還提供了一些其它的特性包括壓縮、編譯、轉(zhuǎn)換、代碼分離等等。Webpack Dev Server通常用來搭建本地開發(fā)環(huán)境,而部署時則需要使用其它的Web服務(wù)器

二、在webpack中配置

1. 下載安裝

npm i webpack-dev-server -D

2. 在webpack.config.js中配置使用
const path = require("path");
module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "js/main.js", // 將 js 文件輸出到 static/js 目錄中
  },
  module: {
    rules: [],
  },
  plugins: [],
  // 開發(fā)服務(wù)器
  devServer: {
    host: "localhost", // 啟動服務(wù)器域名
    port: "3000", // 啟動服務(wù)器端口號
    open: true, // 是否自動打開瀏覽器
  },
  mode: "development",
};

這個是個服務(wù),是和webpack五大核心配置屬性同一級的,我們需要新增devServer配置對象。

完整代碼如下:

  • webpack.config.js
// Node.js的核心模塊,專門用來處理文件路徑
const path = require("path");

const ESLintWebpackPlugin = require("eslint-webpack-plugin"); // 引入 ESLint 插件
const HtmlWebpackPlugin = require("html-webpack-plugin"); // 引入 html-webpack-plugin 插件

module.exports = {
  // 入口
  // 相對路徑和絕對路徑都行
  entry: "./src/main.js",
  // 輸出
  output: {
    // path: 文件輸出目錄,必須是絕對路徑
    // path.resolve()方法返回一個絕對路徑
    // __dirname 當(dāng)前文件的文件夾絕對路徑
    path: path.resolve(__dirname, "dist"),
    // filename: js文件輸出文件名
    filename: "js/main.js",
    clean: true, // 自動將上次打包目錄資源清空
  },
  // 加載器
  module: {
    rules: [
      {
        // 用來匹配 .css 結(jié)尾的文件
        test: /\.css$/,
        // use 數(shù)組里面 Loader 執(zhí)行順序是從右到左
        use: ["style-loader", "css-loader"],
      },
      {
        // 用來匹配.less結(jié)尾的文件
        test: /\.less$/,
        use: ["style-loader", "css-loader", "less-loader"],
      },
      {
        test: /\.s[ac]ss$/,
        use: ["style-loader", "css-loader", "sass-loader"],
      },
      {
        // 用來匹配圖片文件
        test: /\.(png|jpe?g|gif|webp)$/,
        type: "asset",
        parser: {
          dataUrlCondition: {
            maxSize: 10 * 1024, // 小于10kb的圖片會被base64處理
          },
        },
        generator: {
          // 將圖片文件輸出到 images 目錄中
          // 將圖片文件命名 [hash:8][ext][query]
          // [hash:8]: hash值取8位
          // [ext]: 使用之前的文件擴(kuò)展名
          // [query]: 添加之前的query參數(shù)
          filename: "images/[hash:8][ext][query]",
        },
      },
      {
        test: /\.(ttf|woff2?|map4|map3|avi)$/,
        type: "asset/resource", // 以文件資源的形式輸出
        generator: {
          filename: "media/[hash:8][ext][query]", // 輸出到media目錄中
        },
      },
      {
        test: /\.m?js$/, // 轉(zhuǎn)譯哪些文件
        exclude: /(node_modules|bower_components)/, // 排除哪些文件夾中的js文件不用轉(zhuǎn)譯
        // use: {
        loader: 'babel-loader',
        //   options: {
        //     presets: ['@babel/preset-env'] // 添加預(yù)設(shè),轉(zhuǎn)譯js文件
        //   }
        // }
      }
    ],
  },
  // 插件
  plugins: [
    new ESLintWebpackPlugin({
      // 指定檢查文件的根目錄
      context: path.resolve(__dirname, "src"),
    }),
    new HtmlWebpackPlugin({
        // 以 public/index.html 為模板創(chuàng)建文件
        // 新的html文件有兩個特點(diǎn):1. 內(nèi)容和源文件一致 2. 自動引入打包生成的js等資源
        template: path.resolve(__dirname, "public/index.html"),
    }),
  ],
  // 開發(fā)服務(wù)器
  devServer: {
    host: "localhost", // 啟動服務(wù)器域名
    port: "8888", // 啟動服務(wù)器端口號
    open: true, // 是否自動打開瀏覽器
  },
  // 模式
  mode: "development", // 開發(fā)模式
};

3. 自動打包命令npx webpack serve

npx webpack serve

webpack-dev-server,webpack,webpack,自動化,前端
webpack-dev-server,webpack,webpack,自動化,前端
如上圖,執(zhí)行命令以后,webpack-dev-server會自動在本地啟動一個服務(wù),并為我們在瀏覽器運(yùn)行打包好的資源。

4. 體驗(yàn)自動打包

這時我們?nèi)ジ囊幌滦枰虬Y源文件,并保存看看效果
更改保存前:
webpack-dev-server,webpack,webpack,自動化,前端
webpack-dev-server,webpack,webpack,自動化,前端
更改保存后:
webpack-dev-server,webpack,webpack,自動化,前端
webpack-dev-server,webpack,webpack,自動化,前端
可以看到已經(jīng)幫我們自動打包并運(yùn)行到瀏覽器了

到此我們終于是結(jié)束了在開發(fā)環(huán)境下手動運(yùn)行打包后的資源文件的時代,進(jìn)一步解放雙手拉。

5. 內(nèi)存運(yùn)行

webpack-dev-server,webpack,webpack,自動化,前端
如圖,我們清空dist目錄下的所有文件,重新npx webpack serve打包

webpack-dev-server,webpack,webpack,自動化,前端
webpack-dev-server,webpack,webpack,自動化,前端
webpack-dev-server,webpack,webpack,自動化,前端
可以看到打包成功,并重新運(yùn)行到了瀏覽器,但是dist目錄下依然是空的。
這就證明了一點(diǎn),webpack-dev-server是在本地內(nèi)存中遠(yuǎn)行的,這也是咱本地開發(fā)環(huán)境需要的,至于dist目錄要如何才能出來,需要配置生產(chǎn)環(huán)境,在后續(xù)會更新哦。

至此在本地的開發(fā)環(huán)境,是不是有那么一點(diǎn)在框架的腳手架中的開發(fā)體驗(yàn)啦。文章來源地址http://www.zghlxwxcb.cn/news/detail-766642.html

到了這里,關(guān)于webpack自動化打包webpack-dev-server的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Android使用Jenkins自動化打包

    Android使用Jenkins自動化打包

    了解Jenkins工具 Jenkins在Windows系統(tǒng)下的環(huán)境搭建 Jenkins 的Android 構(gòu)建環(huán)境配置 創(chuàng)建FreeProject Item,配置Android Gradle工程構(gòu)建環(huán)境 Jenkins格言: Build great things at any scale 。 Jenkins是一款開源CICD軟件,提供超過1000個插件用于支持各種自動化任務(wù),包括構(gòu)建、測試和部署軟件。 Jenkins 支

    2024年02月10日
    瀏覽(24)
  • jenkins編譯打包及自動化部署

    jenkins編譯打包及自動化部署

    一:簡介 Jenkins是一個開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。 官網(wǎng)文檔:https://www.jenkins.io/zh/doc/ 二:下載及安裝(Windows為例) 下載Jenkins安裝包 需要安裝jdk(11和17版本

    2024年03月21日
    瀏覽(27)
  • Selenium自動化腳本打包exe文件

    Selenium自動化腳本打包exe文件

    近期由于工作需要寫了一個selenium自動化腳本,但是每次運(yùn)行的時候都要打開Pycharm,因此本人直接使用Python第三方打包庫PyInstaller將py文件打包成一個可執(zhí)行的exe文件,在使用時無需安裝Python也可以點(diǎn)擊運(yùn)行。 PyInstaller是一個使用較為簡單便捷的打包套件,只需要幾行命令即可

    2023年04月08日
    瀏覽(92)
  • Unity 基于Jenkins自動化打包流程

    Unity 基于Jenkins自動化打包流程

    什么是Jenkins? ????????Jenkins是一款開源 CICD 軟件,用于自動化各種任務(wù),包括構(gòu)建、測試和部署軟件。Jenkins 支持各種運(yùn)行方式,可通過系統(tǒng)包、Docker 或者通過一個獨(dú)立的 Java 程序。 Jenkins的下載與安卓 直接搜索jenkins進(jìn)入官網(wǎng)下在LTS(穩(wěn)定版本)下載地址:https://www.jen

    2024年02月08日
    瀏覽(53)
  • Android之Gradle自動化打包實(shí)戰(zhàn)

    Android之Gradle自動化打包實(shí)戰(zhàn)

    解放雙手,雙擊桌面快捷方式生成apk包,基于Gradle、bat文件讓開發(fā)人員告別打包煩擾! 前不久有一個Unity3D研發(fā)的小仙女在羽毛球場問我關(guān)于Android Studio打apk的一些事情,她說他們運(yùn)營和測試隔三差五的就坐著她旁邊要她重復(fù)性的打包(估計(jì)是那群癡漢打著工作的幌子實(shí)際上干

    2024年02月05日
    瀏覽(23)
  • 17.Jenkins完成自動化 拉取,編譯,打包,部署

    17.Jenkins完成自動化 拉取,編譯,打包,部署

    1.1安裝gitee插件到j(luò)enkins ?gitee默認(rèn)不允許內(nèi)網(wǎng)觸發(fā)。----必須要配置內(nèi)網(wǎng)穿透 NATAPP - ? ? ? 思考: 我們的項(xiàng)目和jenkins是不是都在一臺服務(wù)器上。因?yàn)閖enkins它所在的服務(wù)器非常耗費(fèi)資源,因?yàn)閖enkins本身要集成很多軟件。如果這時項(xiàng)目也部署到當(dāng)作jenkins所在的服務(wù)器,勢必會導(dǎo)致

    2024年02月04日
    瀏覽(26)
  • Unity 使用.bat自動化打包Apk

    Unity 使用.bat自動化打包Apk

    首先創(chuàng)建一個start.bat腳本內(nèi)容如下 start cmd /c call build.bat ? ? ?--新建一個CMD窗口執(zhí)行另外一個.bat文件 cd G:AndroidStudioProjectTest --進(jìn)入到AndroidStudioProject文件夾中 ./gradlew clean project ? ? --執(zhí)行g(shù)radle的清除緩存命令 然后創(chuàng)建一個?build.bat文件 內(nèi)容如下 ? 進(jìn)入到Unity的安裝目錄Edi

    2024年02月12日
    瀏覽(26)
  • 【uniapp】Uniapp cli 自動化打包腳本實(shí)現(xiàn)

    通常使用uniapp開發(fā)app時,大多數(shù)會使用項(xiàng)目的云服務(wù)打包,否則的話再借助原生會變得極其復(fù)雜,還要去安裝對應(yīng)大內(nèi)存的環(huán)境。如果恰好此時,你有一個需求是,可以隨意的更換logo和封面、標(biāo)題切換成另外一個app,那么很明顯你的HBuilderX維護(hù)起來是非常復(fù)雜的,如果我們想

    2024年02月04日
    瀏覽(19)
  • Jenkins的環(huán)境部署,(打包、發(fā)布、部署、自動化測試)

    Jenkins的環(huán)境部署,(打包、發(fā)布、部署、自動化測試)

    一、Tomcat環(huán)境安裝 1.安裝JDK(Java環(huán)境) JDK下載地址:Java Downloads | Oracle 安裝好后在系統(tǒng)環(huán)境變量里配置環(huán)境變量: ①添加JAVA_HOME 變量名:JAVA_HOME 變量值:C:Program FilesJavajdk1.8.0_181(根據(jù)自己的實(shí)際路徑配置) ②添加CLASSPATH 變量名:CLASSPATH 變量值:.;%JAVA_HOME%libdt.jar;%J

    2024年01月18日
    瀏覽(31)
  • Apache DolphinScheduler 如何實(shí)現(xiàn)自動化打包+單機(jī)/集群部署?

    Apache DolphinScheduler 如何實(shí)現(xiàn)自動化打包+單機(jī)/集群部署?

    Apache DolphinScheduler 是一款開源的分布式任務(wù)調(diào)度系統(tǒng),旨在幫助用戶實(shí)現(xiàn)復(fù)雜任務(wù)的自動化調(diào)度和管理。DolphinScheduler 支持多種任務(wù)類型,可以在單機(jī)或集群環(huán)境下運(yùn)行。下面將介紹如何實(shí)現(xiàn) DolphinScheduler 的自動化打包和單機(jī)/集群部署。 所需環(huán)境:maven、jdk 執(zhí)行以下shell完成

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包