手撸 webpack4.x 配置(二)[通俗易懂]

手撸 webpack4.x 配置(二)[通俗易懂]接着上一篇手撸webpack4.x配置(一)继续学习webpack配置。今天我学习配置下webpack中另一个模块plugins配置。之前我们都是手动在打包后(dist)目录里手动新建的index.html然后把打包后生成的JS文件手动的引入,今天我们来安装一个插件让webpack自动给我们生成模板!1官网配置地址:html-webpack-p…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

接着上一篇 手撸 webpack4.x 配置(一) 继续学习 webpack配置 。

今天我学习配置下 webpack 中 另一个模块 plugins 配置 。 之前我们都是手动在打包后(dist)目录里 手动新建的 index.html 然后把 打包后生成的 JS 文件手动的引入 ,今天我们来安装一个插件 让webpack 自动给我们生成模板 !

1 官网配置地址: html-webpack-plugin

npm install html-webpack-plugin --save-dev
复制代码

安装成功后 。 我们先在项目中新建一个 index.html 模板

模板我们可以自定义 , 如我的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>学习 webpack</title>
</head>
<body>
    <div id="root"></div>
</body>
</html>
复制代码

接下来我们就在 webpack.config.js 里面配置了

const path = require('path')
// 自动生成 HTML 文件
const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
  // 模式
  mode: 'production',
  // 入口文件
  entry: {
    main: './src/index.js'
  },
  // 出口文件
  output: {
    // 打包文件地址
    path: path.resolve(__dirname, 'dist'),
    // 打包后的文件名
    filename: '[name].js',
    publicPath: './'
  },

  // 配置loader
  module: {
    rules: [{
        test: /\.(png|jpg|gif)$/,
        use: [{
          loader: 'file-loader',
          options: {
            outputPath: 'images'
          }
        }]
      },
      {
        test: /\.(css|scss|styl)$/,
        use: [{
            loader: "style-loader" // 将 JS 字符串生成为 style 节点
          },
          {
            loader: "css-loader" // 将 CSS 转化成 CommonJS 模块
          }, {
            loader: "stylus-loader" // 将 stylus 编译成 CSS
          }
        ]
      }
    ]
  },

  // 插件
  plugins: [
    //  自动添加 HTML 模板
    new HtmlWebpackPlugin({
      // 标题
      title: '学习 webpack',
      // 模板
      template: 'index.html',
      // 压缩 去掉所有空格
      minify: {
        collapseWhitespace: false //false | true
      },
      // 添加hash
      hash: true
    })
  ]
};
复制代码

先引用 html-webpack-plugin , 然后在 plugins 里面配置 我们需要的 , 我都加了注解 ,大家一眼就看明白的 !

接下来,我们想在打包时 , 先清空 dist目录 ,然后再生成新的打包文件 ,这里我们需要再按照一个插件 !

2 clean-webpack-plugin

这个插件非官方的 , 属于第三方的 ,但也是非常的好用 !

npm install clean-webpack-plugin --save-dev
复制代码

安装成功后 , 同样的需要在webpack.config.js 里面配置

  // 插件
  plugins: [
    //  自动添加 HTML 模板
    new HtmlWebpackPlugin({
      // 标题
      title: '学习 webpack',
      // 模板
      template: 'index.html',
      // 压缩 去掉所有空格
      minify: {
        collapseWhitespace: false //false | true
      },
      // 添加hash
      hash: true
    }),
    // 删除文件 保留新文件
    new CleanWebpackPlugin(['dist'])
  ]
复制代码

注意 : 这里我之前也遇到坑了 , new CleanWebpackPlugin([‘dist’]) 最新版的 ,这个配置变了

// 删除文件 保留新文件
    new CleanWebpackPlugin()  //  这里不需要参了 !!!
复制代码

OK , 到这里两个插件就介绍完了 ,改天继续完善 ,希望有一天也能配置一个 属于自己的 cli 脚手架!

转载于:https://juejin.im/post/5c8a0084f265da2de52dcf1c

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172028.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 全部替换字符串,php如何批量替换字符串

    php 全部替换字符串,php如何批量替换字符串php如何批量替换字符串2020-10-0614:54:06php批量替换字符串的方法:使用【str_replace】批量查找替换字符串,代码为【$str=str_replace(‘o’,’O’,$str,$count);echo$str.PHP_EOL;】。php批量替换字符串的方法:str_replace批量查找替换字符串…

    2022年5月10日
    43
  • 电信宽带_错误676_电话占线 解决办法

    电信宽带_错误676_电话占线 解决办法

    2021年11月17日
    50
  • 完全卸载了edge还可下回来吗_quartus打不开别人的工程文件

    完全卸载了edge还可下回来吗_quartus打不开别人的工程文件即将毕业了,把电脑一些不用的软件清清,发现quartus软件贼占空间,删除又貌似找不到卸载的exe,百度了好多都不靠谱下面介绍一种方法,可以很好的卸载掉quartus,原先我的quartus是安装在D盘下,结果老跑去D盘下找uninstall.exe,找半天没找到,后来发现它默认会放在c盘下…

    2022年10月9日
    2
  • Python爬虫开发学习全教程第二版,爆肝十万字【建议收藏】

    Python爬虫开发学习全教程第二版,爆肝十万字【建议收藏】大家好,我是辣条。上次整理的爬虫教程反响不错,但是还是有小伙伴表示不够细致,今天带了升级版,全文很长,建议先收藏下来。一、爬虫基础爬虫概述知识点: 了解爬虫的概念 了解爬虫的作用 了解爬虫的分类 掌握爬虫的流程 1.爬虫的概念模拟浏览器,发送请求,获取响应网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。 原则上,只要是客户端(浏

    2022年5月30日
    24
  • mysql优化 面试_数据库优化方案整理

    mysql优化 面试_数据库优化方案整理点赞是一种积极的生活态度!有支持才有动力!微信搜索公众号【达摩克利斯之笔】获取更多资源,文末有二维码!前言数据库优化是一个老生常谈的问题,刚入门的小白或者工作N年的光头对这个问题应该都不陌生,你要面试一个中高级工程师那么他就想”哥俩好”一样那么粘,面试官肯定会问这个问题,这篇文章我们就和它哥俩好!而且这个问题就是一个送分题,数据库的优化方案基本就是那些,答案也都是固定的,大家只要好好…

    2025年7月13日
    4
  • 数学函数图像处理_matlab基本图像处理

    数学函数图像处理_matlab基本图像处理文章目录1.imdilate2.imresize3.imfinfo4.imcomplement总结1.imdilate功能:进行膨胀操作介绍用法:IM2=imdilate(IM,SE)对灰度图像或二值图像IM进行膨胀操作,返回结果图像IM2。SE为由strel函数生成的结构元素对象。IM2=imdilate(IM,NHOOD)对灰度图像或二值图像IM进行膨胀操作,返回结果图像IM2。参量NHOOD是一个由O和1组成的矩阵,指定邻域。IM2=imdilate(…,SHAPE)对图

    2022年10月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号