简单运用理解webpack

Posted 毛毛地闹真不小

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单运用理解webpack相关的知识,希望对你有一定的参考价值。

流程图:

一 定义:js模块打包器
                把所有的依赖文件生成一个图,打包成文件

如何安装:npm init -y 初始化项目

                  npm i webpack-cil -D 安装

配置文件:在创建的文件夹根目录创建一个 webpack.config.js

               

module.exports = 
    //入口
    entry:
	
	,
    //出口
    output: 
      
    ,
    plugins: [
        // 实例化vue插件
    
    ],

       配置一个 module.exports=

二 webpack的核心理念:

1.入口(entry)

2.出口(output)

3.plugin

4.loader 加载器

5.模式 mode

6.本地服务器 dev Server

三 webpack插件的运用:

//导入插件
const htmlWebpackPlugin = require("html-webpack-plugin");
//导入css抽出压缩插件
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
//导入css压缩插件
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
//导入js压缩插件
const TerserWebpackPlugin = require("terser-webpack-plugin");
//导入path
const path = require("path");
//导入拷贝插件
const CopyWebpackPlugin = require("copy-webpack-plugin");
//导入清空插件
const  CleanWebpackPlugin  = require("clean-webpack-plugin");

const VueLoaderPlugin = require("vue-loader/lib/plugin");

先导入所需插件的内容

plugins: [
        // 实例化vue插件
        new VueLoaderPlugin(),
        //清空
        new CleanWebpackPlugin(),
        //实例化
        new HtmlWebpackPlugin(
            //指定模板
			filename:'index.html',
            template: "./public/index.html",
			chunks:['vue']
        ),
		new HtmlWebpackPlugin(
		    //指定模板 
			filename:'base.html',
			template:'./public/base.html',
			chunks:['base']
		),
        new MiniCssExtractPlugin(
            filename: "style-[contenthash:7].css",
			
			
        ),
        new CopyWebpackPlugin(
            // 设置静态目录(拷贝文件到另外一个文件夹)
            patterns: [
                //  from: __dirname+'/public', to: __dirname+'/dist' ,
                //from 从, to 到 __dirname 当前目录
                 from: __dirname + "/src/static", to: __dirname + "/dist/static" ,
            ],
        ),
    ],

 然后在plugins里实例化模板

四  webpack里loader用法

1.css-loader 处理css文件

2.style-loader把css插入到header

3.less-loader 处理.less

4.MiniCssExtractPlugin.loader压缩抽出css-loader

5.file-loader处理文件,图片

6.url-loader 当文件比较小的时候转成base64(减少-http请求)

使用方法:

 module: 
        rules: [
                //vue 解析
                test: /\\.vue$/,
                loader: "vue-loader",
                options: 
                    loaders: 
                        //开发环境使用style-loader打包
                        css: ["style-loader", "css-loader"],
                        less: ["style-loader", "css-loader", "less-loader"],
                    ,
                ,
            ,
            
                //loader 是有顺序的,从右向左
                test: /\\.css$/,
                use: [ /*"style-loader"*/ MiniCssExtractPlugin.loader, "css-loader"],
            ,
            
                test: /\\.less$/,
                use: [MiniCssExtractPlugin.loader, "css-loader", "less-loader"],
            ,
            
                test: /\\.(jpg|jpeg|png|gif|webp|ico)$/,
                use: [
                    loader: "url-loader",
                    options:  limit: 10000, name: "images/[name].[ext]" ,
                , ],
            ,
        ],
    ,

在model 进行解析  

五  webpack如何进行命令script

   "scripts": 
        "build": "webpack",
        "serve": "webpack serve",
        "test": "echo \\"Error: no test specified\\" && exit 1"
    ,

 在根目录下package.json 进行配置

然后在 webpack.config.js 里配置

​​​​​​​

  mode: PROCESS.ENV.no, //产品模式 development
    devServer: 
        open: true, //打开浏览器
        host: "localhost", //本地域名
        port: 8080, //端口号
        hot: true, //热加载
    ,

 这样就能进行基本的打包和运行

以上是关于简单运用理解webpack的主要内容,如果未能解决你的问题,请参考以下文章

初探webpack4--简单理解打包优化

webpack 理解

最简单语言理解 webpack 的用法

简单理解gulp和webpack的区别

运用webpack复制静态文件

Webpack 4 学习10 (运用webpack插件拷贝静态文件(copy-webpack-plugin))