首页 > 其他分享 >webpack打包工具-基本配置

webpack打包工具-基本配置

时间:2022-11-26 17:11:45浏览次数:46  
标签:dist js webpack html path 工具 打包

/*
 * @Author: HuangBingQuan [email protected]
 * @Date: 2022-11-25 17:42:05
 * @LastEditors: HuangBingQuan [email protected]
 * @LastEditTime: 2022-11-26 17:05:29
 * @FilePath: /webpack/02-setup-app/webpack.config.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin') // 自动生成html和引用js文件
module.exports = {
  // 打包的入口
  entry: './src/index.js', 
  output: {
    // 输出文件的名字
    filename: 'bundle.js',
    // 输出的位置(绝对路径)
    path: path.resolve(__dirname, './dist'),
    clean: true, // 每次打包后清理dist文件夹
    assetModuleFilename: 'images/[contenthash][ext]' // 打包图片资源后存放的位置
  },
  mode: 'development', // mode 模式 变为开发模式
  devtool: 'inline-source-map', // 精准定位代码的行数
  plugins: [ // 插件
    new HtmlWebpackPlugin({ // 自动化生成html并自动引入打包后的js
      // template: path.resolve(__dirname, './src/index.html'),
      template: './index.html', // 文件路径
      filename: 'app.html', // 输出的文件
      inject: 'body' // 自动生成的script标签 在什么位置
    })
  ],
  devServer: { // 装完webpack-dev-server后配置devServer检测文件的变化 从而重新编译
    static: './dist', // 创建服务指向./dist文件夹
    open: true 
  },
  // 配置文件资源
  module: {
    rules: [
      {
        test: /\.png$/,
        type: 'asset/resource', // 可以生成一个单独的文件并导出url url是一个资源路径
        generator: {
          filename: 'images/[contenthash][ext]' // contenthash 生成一个随机hash作为资源文件名 ext 扩展名
        }
      },
      {
        test: /\.svg$/,
        type: 'asset/inline', // 可以导出一个资源的dataUrl 例如把.svg转成base64位的字符串
      },
      {
        test: /\.txt$/,
        type: 'asset/source', // 可以导出资源的源代码
      },
      {
        test: /\.jpg$/,
        type: 'asset', // 通用类型 自动选择
        parser: {
          dataUrlCondition: { 
            maxSize: 4 * 1024 * 1024  // 当图片大小大于4MB则生成一个资源文件否则生成base64
          }
        }
      }
    ]
  }
}

标签:dist,js,webpack,html,path,工具,打包
From: https://www.cnblogs.com/bingquan1/p/16927770.html

相关文章

  • TypeScript学习笔记-05webpack打包
    1.使用命令npminit-y生成项目package.json,这个文件是项目的基本信息,方便我们对项目进行管理,如图所示。2.使用命令 npmi-Dwebpackwebpack-clitypescriptts-load......
  • webpack简述
    1.webpackwebpack就是一个JavaScript的静态模块打包工具。2.目前市场上的打包工具gruntgulpwebpackrollup其实Vue的源码就是基于rollup来构建的。3.......
  • Linux系列---【linux服务器监控和浏览器客户端连接工具-Cockpit】
    linux服务器监控和浏览器客户端连接工具-Cockpit1.Cockpit的用途(1)Cockpit是一个免费且开源的基于web的Linux服务器管理工具。并且在CentOS8和RHEL8中,Cockpit更......
  • 打包 maven 项目时,报 No compiler is provided in this environment. Perhaps you are
    我出错的项目是mybatis-generatorgui(一个逆向生成工具)下载地址:https://github.com/zouzg/mybatis-generator-gui 出错报文:   1.首先使用工具打开该项目(我使用的......
  • arpl编译安装群晖工具
    arpl下载地址​​https://github.com/fbelavenuto/arpl/releases​​DSM下载地址​​https://archive.synology.cn/download/Os/DSM​​从第一个链接下载巴西大神写的arpl......
  • ENSP、Wireshark相关工具安装
    研究生选了一门高级计算机网络,做一些实验,在mac上双系统做,有几年没搞网络了,本科是网工的但是毕业之后都在做开发,把这个教程贴在这里,切换Windows系统来做。安装ENSP、Wiresh......
  • Visual Studio下的PHP开发工具VS.PHP初探
    做程序开发,离不开好的IDE。微软的VisualStudio一直是.NET平台程序员的必备工具,对于PHP程序员来说都是使用Editplus或PHPEditor等轻量级开发工具。对于编写小的PHP程序还......
  • Java 序列化工具
    一、Java自带的序列化Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据......
  • 利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案
    利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案Windows虽然是以UI来见长的。但是,真正的POWERFUL工具,还是命令行的。今天,介绍一种......
  • PySide6: 花销工具教程
    在本教程中,您将学习以下概念:以编程方式创建用户界面,布局和小部件,过载Qt类,连接信号和时隙,与QWidget交互,以及构建自己的应用程序。要求:应用程序的简单窗口(QMainWindow)。跟踪花......