其他分享
首页 > 其他分享> > webpack

webpack

作者:互联网

yarn安装

npm install -g yarn
//检测yarn
yarn -v

使用yarn安装 webpack

yarn add webpack webpack-cli --dev

//打包
npx webpack

css样式loader安装

yarn add --dev style-loader css-loader

webpack插件使用

  自动生成index.html插件

yarn add html-webpack-plugin --dev

  babel-loader插件

yarn add --dev babel-loader @babel/core @babel/preset-env

  代码压缩插件

yarn add --dev terser-webpack-plugin

  自动打包

yarn add --dev webpack-dev-server

  查看代码体积大小分布图

yarn add --dev webpack-bundle-analyzer

 

文件目录

 webpack.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const BundleAnalyzer = require("webpack-bundle-analyzer").BundleAnalyzerPlugin;

module.exports = {
    // 设置所处环境 production生产环境 development开发环境
    mode: "development",
    // 方便查看打包后的源代码
    devtool: "inline-source-map",
    // 入口文件
    entry: "./src/index.js",
    // 打包输出文件配置 
    output: {
        // 打包后的文件名
        filename: "dist.js",
        // 存放路径
        path: path.resolve(__dirname, "dist")
    },
    // 设置文件路径别名
    resolve: {
        alias: {
            // utils:path.resolve(__dirname,"src/utils")
        }
    },
    // 代码压缩插件
    optimization: {
        minimize: true,
        minimizer: [new TerserPlugin()]
    },
    // 代码有改动重新自动打包
    devServer: {
        static: "./dist",
    },
    // 插件 自动生成index.html HtmlWebpackPlugin
    plugins: [new HtmlWebpackPlugin({
        title: "博客列表"
    }),
        // new BundleAnalyzer() // 查看代码体积分布图
    ],
    module: {
        // 数组立的每个元素都对应一个loader,每个loader都包含匹配扩展名和使用loader相关的选项
        rules: [{
            // 匹配文css件名
            test: /\.css$/i,
            use: ["style-loader", "css-loader"]
        }, {
            // 匹配图片文件名 图片通过引入的方式查找路径来使用图片 
            test: /\.(pang|svg|jpg|jpeg)$/i,
            type: "asset/resource"
        }, {
            // 匹配js文件
            test: /\.js$/,
            exclude: /node_modules/,
            use: {
                // 兼容低版本浏览器,使用babel工具转译代码
                loader: "babel-loader",
                options: {
                    presets: ["@babel/preset-env"],
                }
            }
        }]
    }
};

 

标签:--,add,dev,loader,webpack,yarn
来源: https://www.cnblogs.com/i269/p/16573941.html