webpack基础学习

68 阅读2分钟

webpack基础概念

webpack是一款项目打包构建工具,我们的项目没有经过打包上是不能运行在浏览器的,webpack可以打包成静态资源从而运行在浏览器中,需要注意的是原生的webpack只能打包js文件,其他的文件:css,sass,less等文件则需要配置loader加载器才能打包运行在浏览器被浏览器解析

webpack基础五大模块

  • entry(入口):
    • 入口起点指示webapck应该使用哪个模块,来作为构建其内部依赖图的开始,进入入口起点之后,webpack会找出有哪些模块和库是入口起点依赖的,每个依赖项即被处理后,最后输出到称之为bundles的文件中,给大家看看我的配置
                     entry: "./src/main.js"
  • outout(输出):
    • 配置output选项可以控制webpack如何向硬盘写入编译文件,即使存在多个入口,但只能存在一个出口;出口是一个对象,含有两个值:
    • filename:用于输出文件的文件名
    • path:目标输出的绝对路径
                 output: {
                    path: path.resolve(__dirname, "dist"),
                    filename: "static/js/main.js",
                    clean: true,
                  },
  • loader(加载器)
    • loader用于对模块的源代码进行替换,loader可以使你在import或加模块时预处理文件,因此,loader类似于其他的构建工具中任务,并提供了处理前端构建步骤的强大方法.loader可以将文件从不同的语言转换为javascript,获奖内联图像转换为data url.loader甚至允许你在javascript模块中importcss文件
                    module: {
                        rules: [
                          {
                            test: /\.css$/,
                            use: ["style-loader", "css-loader"],
                          },
                          {
                            test: /\.(png|jpe?g|gif|webp|svg)$/,
                            type: "asset/resource",
                            parser: {
                              dataUrlCondition: {
                                maxSize: 10 * 1024,
                              },
                            },
                            generator: {
                              filename: "static/images/[hash:10][ext][query]",
                            },
                          },
                        ],
                      },
  • plugins(插件)
    • 插件是webapck的支柱功能,webpack是自身也是构建,你在webpack配置中用到的相同插件系统之上,插件的目的在于解决loader无法解决的其他事
                    plugins: [你要的插件]
  • mode(模块)
    • mode提供配置选项,告知webpack使用相应模式的内置优化,值为string类型
    • 分为开发者模式:development;生产者模式:production
                 mode: "development"