webpack配置externals汇总

news2024/11/26 17:48:46
webpack@5.88.1
vue@2.7.14
vue-router@3.6.5
element-ui@2.15.13
ant-design-vue@1.7.8

externals用于提取第三方依赖包,使用cdn资源的方式将第三方依赖包引入项目,可以大大减少项目打包体积
配置externals对象有技巧:

  • key 就是 import aaa from 'bbb'中的bbb
  • value 可以在 引入cdn资源后,在控制台打印window.xxx,value就是 xxx

cdn引入vue

如果npm安装了vue,看不顺眼可以选择卸载,不卸载也是无所谓的

npm un vue

但是vue-template-compiler还是要有的,没有的话需要装一下,注意版本号和vue版本保持一致

npm i vue-template-compiler@2.7.14 -S

index.html

<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>

webpack.config.js

module.exports = {
    externals: {
      'vue': 'Vue',
    }
  }

然后项目里所有的 import Vue from 'vue' 都可以去掉,注意 Vue 是大写;
原理是通过cdn引入的vue会挂载到 window下面:window.Vue

cdn引入vue-router

index.html

<script defer src="https://cdn.jsdelivr.net/npm/vue-router@3.6.5/dist/vue-router.js"></script>

webpack.config.js

module.exports = {
    externals: {
      'vue-router': 'VueRouter',
    }
  }

项目里所有的import Router from 'vue-router'可以去掉,但要注意把项目里的Router改成VueRouter,原理是vue-router通过cdn的形式导入会自动挂载到window下面:widnow.VueRouter
如果 vue 也是 cdn 形式导入的,那么 Vue.use(Router) 也可以去掉。
原理是 cdn 的 vue-router.js 里已经执行过了window.Vue.use(VueRouter),如图:

cdn引入element-ui

一开始我想实现 无需 cdn 引入 vue 就引入 element-ui,搞了半天发现不行,还是需要先 cdn 引入 vue 之后才可以 cdn 引入 element-ui

index.html

<!-- 引入vue -->
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
  <!-- 引入element-ui -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.15.13/lib/theme-chalk/index.css">
  <script defer src="https://cdn.jsdelivr.net/npm/element-ui@2.15.13/lib/index.js"></script>

然后 main.js 里面关于element-ui的都可以删掉:import 'element-ui/lib/theme-chalk/index.css';import ElementUI from 'element-ui'Vue.use(Element)

并且不需要在webpack.config.js里面的externals配置 element-ui
webpack.config.js

module.exports = {
    externals: {
      'vue': 'Vue',
    }
  }

cdn引入ant-design-vue

也需要先使用 cdn 引入 vue

index.html

<!-- 引入vue -->
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
  <!-- 引入ant-design-vue -->
  <link href="https://cdn.jsdelivr.net/npm/ant-design-vue@1.7.8/dist/antd.css" rel="stylesheet">
  <script defer src="https://cdn.jsdelivr.net/npm/ant-design-vue@1.7.8/dist/antd.js"></script>

webpack.config.js

module.exports = {
    externals: {
      'vue': 'Vue',
      'ant-design-vue': 'antd',
    }
  }

其他依赖包都差不多这种套路去配就好了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

No3: 学习过程中故障成长积累

文章目录 故障积累1、编码错误导致 故障积累1、编码错误导致

JDK8,JDK11,JDK17,JDK21及中间版本主要更新特性

一、版本roadmap图 官方地址&#xff1a; https://www.oracle.com/java/technologies/java-se-support-roadmap.html 从上图可以很清晰得可以看出&#xff0c;JDK7,JDK8,JDK11,JDK17,JDK21是长期维护的版本。从目前来看&#xff0c;JDK8到2023年已经有将近10年的历史了&#…

C++笔记之使用STL的function实现回调机制

C笔记之使用STL的function实现回调机制 code review! 文章目录 C笔记之使用STL的function实现回调机制1.使用普通函数2.使用匿名函数&#xff08;Lambda表达式&#xff09;3.使用函数对象&#xff08;functor&#xff09;4.运行输出 1.使用普通函数 代码 #include <funct…

【C++杂货铺】运算符重载

目录 前言一、运算符重载二、赋值运算符重载三、完善日期类3.1 重载关系运算符3.2 重载、3.3 重载-、-3.4 重载、--3.5 重载<<、>> 四、const成员五、取地址及const取地址操作符重载 前言 本文将以日期类为基础&#xff0c;去探寻运算符重载的特性与使用方法&…

小程序如何删除/修改/上下架分类

删除、修改或上下架小程序中的分类可以帮助商家更好地管理和调整分类展示。下面将介绍如何在小程序中删除、修改或上下架分类的操作步骤。 在小程序管理员后台->分类管理&#xff0c;可以看到处于上架和下架状态的分类。 删除&#xff1a;点击分类上的删除按钮&#xff0c;…

vscode使用g++编译.c文件或.cpp文件

vscode是一个跨平台、轻量级、插件非常丰厚的IDE&#xff0c;这里介绍在vscode里使用g来编译.cpp文件。g也叫GCC, 在Window中&#xff0c;是使用MinGW方式实现g的&#xff0c;它分为32位和64位2个版本&#xff0c;其中&#xff0c;MinGW-64是64位的&#xff0c;MinGW-32是32位的…

qt MainWindow设置layout失效

错误的做法&#xff1a;直接把layout设置到MainWindow上 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);QVBoxLayout *mainLayout new QVBoxLayout();QPushButton *btn1 new QPushButton("aa", t…

VRIO模型

VRIO模型 由美国学者Jay B.Barney 1991年在《企业资源和持续竞争优势》中提出的&#xff0c;是一个战略规划工具&#xff0c;一般用于评估和分析企业的内部资源&#xff0c;并利用这些资源获得持续的竞争力。 模型介绍 该模型指出了有四个因素对持久的竞争优势产生了影响&…

【技术面试】Java八股文业余选手-上篇(持续更新)

文章目录 1. Java 基础【√】1.1 数据结构&#xff1a;集合 Set Map List Array Tree【√】1.2 基础算法&#xff1a;排序算法、二分算法、银行家算法、最短路径算法、最少使用算法、一致性哈希算法【√】1.3 Thread【】1.4 代理、反射、流操作、Netty【√】1.5 JVM 原理【√】…

前端学习——Vue (Day2)

指令补充 指令修饰符 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevi…

PHP登陆/php登录--【强撸项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 上效果图phpStudy 设置导数据库 项目目录如图&#xff1a;页面代码后台代码 这么丑的界面能忍&#xff1f;配套资源作业&#xff1a; 本系列校训 用免费公开视频&#xff0…

day01_springboot综合案例

springboot项目 课程目标 1. 【掌握】SSM整合 2. 【掌握】使用SSM完成查询 3. 【理解】AdminLTE 4. 【理解】理解SSM综合案例表的结构springboot环境搭建 搭建工程 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http…

docker数据网络管理

数据管理 管理 Docker 容器中数据主要有两种方式&#xff1a;数据卷&#xff08;Data Volumes&#xff09;和数据卷容器&#xff08;DataVolumes Containers&#xff09;。 1&#xff0e;数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂…

20230723红米Redmi Note8Pro掉在水里的处理步骤

20230723红米Redmi Note8Pro掉在水里的处理步骤 2023/7/23 18:18 百度搜搜&#xff1a;小米手机进水 破音怎么处理 Redmi Note8Pro 6400万全场景四摄 液冷游戏芯 4500mAh长续航 NFC 18W快充 红外遥控 https://www.zhiliancy.com/a/q5podmr12.html 首页 / 热文 / 内容 小米喇叭…

CI流水线中Jenkins应用实践丨IDCF

作者&#xff1a;达日汗&#xff0c;中国农业银行研发中心&#xff0c;系统支持部 CI &#xff08;Continuous Integration&#xff09;在维基百科中的定义是&#xff1a;经常将几个小改动合并到一个主分支中&#xff0c;强调开发人员提交了新代码之后&#xff0c;立刻进行构建…

大数据学习05-Kafka分布式集群部署

系统环境&#xff1a;centos7 软件版本&#xff1a;jdk1.8、zookeeper3.4.8、hadoop2.8.5 本次实验使用版本 kafka_2.12-3.0.0 一、安装 Kafka官网 将安装包上传至linux服务器上 解压 tar -zxvf kafka_2.12-3.0.0.tgz -C /home/local/移动目录至kafka mv kafka_2.12-3.0…

十二.Redis模拟集群搭建

配置环境 查看环境信息 127.0.0.1:6379> info replication #查看当前redis的信息 # Replication role:master #角色 master主机 connected_slaves:0 #从机数量为0 master_failover_state:no-failover master_replid:115f37a0ec195680ef754d6915738b0c0a05f450 master_replid…

学习UE的FArchive的最基础功能

目标 尝试FArchive的最基础功能。代码参考这里。 0. FArchive是什么&#xff1f; 源代码里FArchive的注释如下&#xff1a; Base class for archives that can be used for loading, saving, and garbage collecting in a byte order neutral way 它是 archive 的基类。&am…

【高并发基础】基本锁算法及原理

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于多处理器编程的艺术进行的&#xff0c;每个知识点的修正和深入主要…

elasticsearch操作(命令方式)

说明&#xff1a;elasticsearch是目前最流行的搜索引擎&#xff0c;功能强大&#xff0c;非常受欢迎。特点是倒排索引&#xff0c;在海量数据的模糊查找领域&#xff0c;效率非常高。elasticsearch的安装和使用参考&#xff1a;http://t.csdn.cn/yJdZb。 本文介绍在es的索引库…