devServer的配置

devServer指的是用webpack开发服务器环境,需要注意的是devServer的配置只能在development(开发环境中)

安装依赖

npm install webpack-dev-server -D

webpack.comfig.js

const { resolve } = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
  // 入口文件
  entry: "./src/index.js",
  // 出口文件
  output: {
    // 出口文件名称
    filename: "bluid.js",
    // 智能合并路径,绝对路径
    path: resolve(__dirname,'build')
  },
  module: {
    rules: [
        {
            // 引导打包文件和编译的文件为css文件
            test: /\.css$/,
            // 内部执行哪些loader,loader的执行顺序是倒叙的,后写的先执行
            use: [
              // 识别css-laoder的js字符串为样式代码,添加到head标签
              'style-loader',
              // css-loader是将样式的代码翻译为js的模式,内部是样式的字符串
              'css-loader'
            ]
          },      
      {
        // 识别.js结尾的文件
        test: /\.js$/,
        // 不需要识别/翻译node_modules文件夹内部的内容
        exclude: /node_modules/,
        // 使用的loader
        use: [
          {
            loader: 'babel-loader',
            // 指导babel-loader进行翻译的配置工具
            options: {
              presets: ['env'] // env 指的是ECMAScript New Version(ES的新版本)
            }
          }
        ]
      },
      {
        // 配置编译img标签引入的图片
        loader: 'html-loader',
        test: /\.html$/
      }
    ]
  },
  plugins: [
    // 配置html的文件
    new HtmlWebpackPlugin({
      // template表示是引入的模板文件地址
      template: './src/index.html',
      // 压缩HTML代码
      minify: {
        // 移除所有的空格
        collapseWhitespace: true,
        // 移除注释
        removeComments: true
      }
    }),
    new MiniCssExtractPlugin()
  ],
  devServer: {
    // 项目编译后的路径,代码编译的位置是在计算机的内存中,看不到
    contentBase: resolve(__dirname, 'bluid'),
    // 端口号
    port: 3000
  },
  // 实时监听
  watch: true,
  // 打包模式
  mode: 'development'
}

此时的服务器环境是有实时编译和实时更新的(热更新)

如果需要自动打开浏览器,可以配置open属性为true

devServer: {
    // 项目编译后的路径,代码编译的位置是在计算机的内存中,看不到
    contentBase: resolve(__dirname, 'bluid'),
    // 端口号
    port: 3000,
    // 配置自动打开浏览器
    open: true
 }

此时webpack之后会自动打开浏览器

 

posted @ 2021-10-27 11:01  keyeking  阅读(3249)  评论(0编辑  收藏  举报