前端工程化之:webpack2-2(内置插件)

目录

一、内置插件

1.DefinePlugin 

2.BannerPlugin 

3.ProvidePlugin


一、内置插件

所有的 webpack 内置插件都作为 webpack 的静态属性存在的,使用下面的方式即可创建一个插件对象:

const webpack = require("webpack")

new webpack.插件名(options)

1.DefinePlugin 

全局常量定义插件,使用该插件通常定义一些常量值,例如:

 webpack.config.js : 

// 引入webpack内置插件
const webpack = require("webpack");

// plugins中配置
plugins: [
    new webpack.DefinePlugin({
    PI: `Math.PI`, // const PI = Math.PI
    VERSION: `"1.0.0"`, // VERSION = "1.0.0"
    DOMAIN: JSON.stringify("http://localhost:8080/html"), // DOMAIN = "duyi.com"
  }),
],

 src/index.js : 

console.log(PI);
console.log(VERSION);
console.log(DOMAIN);

 浏览器:

d60aa3d5dae8450592fa2817c27f6abe.png

这样一来,在源码中,我们可以直接使用插件中提供的常量,当 webpack 编译完成后,会自动替换为常量的值。

2.BannerPlugin 

它可以为每个 chunk 生成的文件头部添加一行注释,一般用于添加作者、公司、版权等信息。 

 webpack.config.js :  

new webpack.BannerPlugin({
  banner: `
  hash:[hash]
  chunkhash:[chunkhash]
  name:[name]
  author:zuozhe
  corporation:gongsi
  `
})

运行 npx webpack 打包命令后的 main.js 文件最上方会出现以下代码:

/*!
 * 
 *       hash:07133a8cf05d494f4cba
 *       chunkhash:aeea2163831469d1baf2
 *       name:main
 *       author:zuozhe
 *       corporation:gongsi
 *       
 */

3.ProvidePlugin

自动加载模块,而不必到处 import require 。 

 webpack.config.js :  

new webpack.ProvidePlugin({
  $: 'jquery',
  _: 'lodash'
})

 src/index.js : 

console.log($("#item")); // <= 起作用
console.log(_.drop([1, 2, 3], 2)); // <= 起作用

浏览器:

3fde67818245434fa49c40c639fa27bc.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/370285.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机设计大赛 深度学习 机器视觉 车位识别车道线检测 - python opencv

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) …

随机图论基础

一&#xff0c;随机图、随机图空间 1&#xff0c;随机图 一个n个点的无向图&#xff0c;最多有sn(n-1)/2条边。 每条边都有一定的概率存在&#xff0c;有一定概率不存在&#xff0c;那么每个图都有一个出现概率。 2&#xff0c;随机图空间 一共有2^s种不同的图&#xff0c…

C++:按键控制头文件Button.h

★&#xff0e;☆ &#xff0e;★∴★&#xff0e;∴☆ ∴ ☆&#xff0e;&#xff0e; ☆★∴∴ ☆&#xff0e;★∴&#xff0e; ◢◣。 ◢◣。 ☆圣★ ◢★◣。 ◢★◣。 ★诞☆ ◢■■◣。 ◢■■◣。 ☆节★ ◢■■■◣。 ◢■■■◣。 …

集合-02

文章目录 1.Set集合1.1Set集合概述和特点1.2Set集合的使用 2.TreeSet集合2.1TreeSet集合概述和特点2.2TreeSet集合基本使用2.3自然排序Comparable的使用2.4比较器排序Comparator的使用2.5两种比较方式总结 3.HashSet集合3.1HashSet集合概述和特点3.2HashSet集合的基本应用3.3哈…

Java 格式化时间以及计算时间

Java 格式化时间以及计算时间 package com.zhong.datetimeformat;import java.time.*; import java.time.format.DateTimeFormatter;public class DateTimeFormats {public static void main(String[] args) {// 创建一个日期格式化器对象DateTimeFormatter dateTimeFormatter…

【chisel】 环境,资料

Chisel环境搭建教程&#xff08;Ubuntu&#xff09; 根据上边的link去安装&#xff1b; 目前scala最高版本用scala-2.13.10,太高了 没有chisel的库文件支持&#xff1b;会在sbt下载的过程中报错&#xff1b; [error] sbt.librarymanagement.ResolveException: chisel chisel目…

深入理解网络通信和TCP/IP协议

目录 计算机网络是什么&#xff1f; 定义和分类 计算机网络发展简史 计算机网络体系结构 OSI 七层模型 TCP/IP 模型 TCP/IP 协议族 TCP/IP 网络传输中的数据 地址和端口号 MAC地址 IP 地址 端口号 为什么端口号有65535个&#xff1f; 综述 TCP 特性 TCP 三次握…

oc渲染器初始参数怎么设置?oc渲染器初始参数怎么弄

OC渲染器以其用户友好的界面、卓越的渲染品质而受到众多初学者的欢迎&#xff0c;而且它使得创建逼真的视觉效果变得轻而易举。对于产品展示、建筑设计以及室内布局渲染来说&#xff0c;OC渲染器都能表现出优异的性能。下面&#xff0c;我们将介绍新手如何进行OC渲染器的基本初…

【MySQL】学习并使用DQL实现排序查询和分页查询

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-SP91zTA41FlGU0Ce {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

codeforces 1300分

文章目录 1.[B. Random Teams](https://codeforces.com/contest/478/problem/B)2.[D. Anti-Sudoku](https://codeforces.com/problemset/problem/1335/D)3.[B. Trouble Sort](https://codeforces.com/problemset/problem/1365/B)4.[Problem - 1401C - Codeforces](https://code…

【DDD】学习笔记-数据分析模型

在 Eric Evans 提出领域驱动设计之前&#xff0c;对企业系统的分析设计多数采用数据模型驱动设计。如前所述&#xff0c;这种数据模型驱动设计就是站在数据的建模视角&#xff0c;逐步开展分析、设计与实现的建模过程。通过对数据的正确建模&#xff0c;设计人员就可以根据模型…

Python新春烟花盛宴

写在前面 哈喽小伙伴们&#xff0c;博主在这里提前祝大家新春快乐呀&#xff01;我用Python绽放了一场新春烟花盛宴&#xff0c;一起来看看吧&#xff01; 环境需求 python3.11.4及以上PyCharm Community Edition 2023.2.5pyinstaller6.2.0&#xff08;可选&#xff0c;这个库…

房企数字化选型-智慧案场:来访到成交,5大环节缺一不可

在“低增长、低利润、高集中度”的房地产存量时代&#xff0c;数字化成为房企突围的必经之路。但面对预算缩减&#xff0c;哪些数字化场景值得优先投入&#xff1f;又有哪些实践案例经验可以借鉴&#xff1f; 【需求与挑战】 线下案场是房地产营销转化成交的最关键环节&#x…

中国古代初入相补原理

中国古代初入相补原理 赵爽&#xff08;约182---250年&#xff0c;东汉末至三国时代吴国人&#xff09;&#xff0c;为《周髀算经》做注时记述了勾股定理的理论证明&#xff0c;将勾股定理表述为&#xff1a;“勾股各自乘&#xff0c;并之&#xff0c;为弦实。开方除之&#xf…

Facebook群控:利用IP代理提高聊单效率

在当今社交媒体竞争激烈的环境中&#xff0c;Facebook已经成为广告营销和推广的重要平台&#xff0c;为了更好地利用Facebook进行推广活动&#xff0c;群控技术应运而生。 本文将深入探讨Facebook群控的定义、作用以及如何利用IP代理来提升群控效率&#xff0c;为你提供全面的…

计算机毕业设计 | vue+springboot 教务管理系统(附源码)

1&#xff0c;项目背景 随着我国高等教育的发展&#xff0c;数字化校园将成为一种必然的趋势&#xff0c;国内高校迫切需要提高教育工作的质量与效率&#xff0c;学生成绩管理工作是高校信息管理工作的重要组成部分&#xff0c;与国外高校不同&#xff0c;他们一般具有较大规模…

impala与kudu进行集成

文章目录 概要Kudu与Impala整合配置Impala内部表Impala外部表Impala sql操作kuduImpala jdbc操作表如果使用了Hadoop 使用了Kerberos认证&#xff0c;可使用如下方式进行连接。 概要 Impala是一个开源的高效率的SQL查询引擎&#xff0c;用于查询存储在Hadoop分布式文件系统&am…

图论练习4

内容&#xff1a;染色划分&#xff0c;带权并查集&#xff0c;扩展并查集 Arpa’s overnight party and Mehrdad’s silent entering 题目链接 题目大意 个点围成一圈&#xff0c;分为对&#xff0c;对内两点不同染色同时&#xff0c;相邻3个点之间必须有两个点不同染色问构…

音箱、功放播放HDMI音频解决方案之HDMI音频分离器HHA

HDMI音频分离器HHA简介 HDMI音频分离器HHA具有一路HDMI信号输入&#xff0c;转换成一路HDMI信号、一路5.1光纤音频信号、一路5.1 SPDIF/同轴音频信号和一路模拟左右声道立体声信号输出&#xff0c;同时还支持EDID存储及兼容HDCP功能&#xff1b;分辨率最高支持1920*1080p&#…

【已解决】c++ qt选中该行为什么该列部分变色

笔者开启了QTableView中交替行改变颜色&#xff0c;发现笔者自定义绘制的水平滚动条&#xff0c;在选中后不发生颜色改变&#xff0c;这让笔者很疑惑。笔者查阅资料后发现&#xff0c;自定义绘制的控件&#xff0c;要自身设置颜色。当笔者解决了这个问题时&#xff0c;顺手就将…