webpack配置

webpack

init

mkdir blog
cd blog
yarn init -y
//安装webpack  (--dev安装在开发环境)
yarn add webpack webpack-cil --dev

核心部分:配置文件,只能判断代码逻辑

通过loader打包不同类型的文件,通过plugin在打包的过程中优化处理

常用插件loader

style-loader
css-loader
​
//自动生成打包后引入的html插件 (插件)
html-webpack-plugin
​
//ES6以后的代码转换为ES6之前的
babel-loader  @babel/core @babel/preset-env
​
//压缩打包后的js代码
terser-webpack-plugin
​
//改变代码自动打包webpack
webpack-dev-server
​
//压缩打包后的文件体积 (插件)
yarn add --dev terser-webpack-plugin
​
//可视化webpack打包后的文件体积
webpack-bundle-analyzer

配置好后的文件

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const TerseWebpackPlugin = require("terser-webpack-plugin");
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
​
module.exports = {
  //开发工具
  devtool: "inline-source-map",
  //开发模式
  mode: "development",
  //入口文件
  entry: "./src/index.js",
  //出口文件
  output: {
    //输出文件名为不重复的哈希文件名,防止缓存
    filename: "[name].[contenthash].js",
    //输出路径
    path: path.resolve(__dirname, "dist"),
  },
  //压缩代码空白,简化代码
  optimization: {
    minimize: true,
    minimizer: [new TerseWebpackPlugin()],
  },
  resolve: {
    //自动解析确定的扩展
    alias: {
      "@": path.resolve(__dirname, "src"),
    },
  },
  //模块加载器
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ["style-loader", "css-loader"],
      },
      {
        test: /\.(png|svg|jpg|gif)$/,
        use: ["file-loader"],
      },
      {
        //匹配到js文件
        test: /\.js$/,
        //排除node_modules文件夹
        exclude: /node_modules/,
        //使用babel-loader转换
        use: {
          loader: "babel-loader",
          options: {
            presets: ["@babel/preset-env"],
          },
        },
      },
    ],
  },
  //插件
  plugins: [
    new HtmlWebpackPlugin({
      title: "Output Management",
    }),
    new BundleAnalyzerPlugin(),
  ],
};
​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值