首页 > 其他分享 >webpack配置externals汇总

webpack配置externals汇总

时间:2023-07-19 15:00:35浏览次数:40  
标签:vue cdn 汇总 externals webpack Vue ui

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

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 [email protected] -S

index.html

<script src="https://cdn.jsdelivr.net/npm/[email protected]/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/[email protected]/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/[email protected]/dist/vue.js"></script>
  <!-- 引入element-ui -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/lib/theme-chalk/index.css">
  <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/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/[email protected]/dist/vue.js"></script>
  <!-- 引入ant-design-vue -->
  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/antd.css" rel="stylesheet">
  <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/antd.js"></script>

webpack.config.js

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

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

标签:vue,cdn,汇总,externals,webpack,Vue,ui
From: https://www.cnblogs.com/djjlovedjj/p/17565587.html

相关文章

  • jquery__WEBPACK_IMPORTED_MODULE_2___default(...)(...).combobox is not a func
    1、问题:使用jquery的combobox控件的时候出现了这个错误。$('#mySelect').combobox({width:200,data:comboboxData,valueField:'desc',textField:'text'});2、解决过程:我上网看了很多都说是因为jquery没有正确......
  • IO流知识汇总(不断更新)
    BIO、NIO、AIO有什么区别?BIO、NIO、AIO是Java中用于处理IO的三种不同的方式,它们之间的区别如下:BIO(BlockingIO):同步阻塞IO,传统的IO模型,也称为传统IO,是一种阻塞的IO方式,即在读取或写入数据时,如果没有数据可读或可写,则线程会一直等待,直到有数据可读或可写。BIO适合于连接数较小的......
  • word撰写论文技巧汇总
    常见快捷键alt+=:插入公式,可以选中一段文字之后按alt+=变为公式,方便转换来自latex的文字公式相关使用类似latex语法只需要写完后按空格即可例如在插入公式模式内,输入L_1就会显示\(L_1\)花体字符使用:\scriptL然后空格,就可以得到一个花体的L文献引用建议使用Zotero......
  • HTML5的Video标签的属性,方法和事件汇总
    HTML5的Video标签的属性,方法和事件汇总 常用屬性與方法:获取视频元素:varvideoElement=document.getElementById("videoPlay");获取设置音量大小:videoElement.volume获取设置当前播放的位置:videoElement.currentTime播放视频:videoElement.play()暂停视频:videoElement.p......
  • cm311-1a-yst机顶盒刷Armbian问题汇总
    一.刷入底包我因为没有买免拆机的刷机神器,只能使用拆机短接触点的方法,其中重要的注意事项:1.使用两头都是usbA口的数据线,可以自己制作,尽量短,减少干扰.2.插机顶盒的usb口必须是靠近网口端那个,插电脑的端口,最好是usb3.0或以上,供电会好一些3.使用刷机工具软件......
  • 2023最新C语言经典面试题汇总
    ​写出Bool、int、指针变量、float与“零值”比较的if语句Bool型:if(flag)、if(!flag)int型:if(flag==0)、if(flag!=0)指针变量:if(p==NULL)、if(p!=NULL)float型:constfloatEPSINON=0.0001;if((x>=-EPSINON)&&(x<=EPSINON));设置地址未为0x67a9......
  • webpack打包格式及使用说明
    webpack打包的devTool选项格式的含义如下选项含义优点缺点适用场景evaleval会将每一个module模块,执行eval,执行后不会生成sourcemap文件,仅仅是在每一个模块后,增加sourceURL来关联模块处理前后对应的关系速度快由于会映射到转换后的代码,而不是映射到原始代码,所以不能......
  • office软件提示“您的组织策略阻止我们进行该操作”错误的解决办法-终极汇总
    环境系统:win1064位专业版时间:2023年7月15日1.选择默认软件在设置中打开默认应用,将web浏览器改为你想要的浏览器 2.修改注册表同时按下win+R,输入regedit打开注册表。修改计算机\HKEY_CURRENT_USER\Software\Classes\.html路径下的值为Htmlfile 3.重启office软件或......
  • PostgreSQL 分组汇总(二)
    PostgreSQL除了支持基本的GROUPBY分组操作之外,还支持3种高级的分组选项:GROUPINGSETS、ROLLUP以及CUBE。GROUPINGSETS选项GROUPINGSETS是GROUPBY的扩展选项,用于指定自定义的分组集。举例来说,以下是一个销售数据表:CREATETABLEsales(itemVARCHAR(10),year......
  • 常用adb命令汇总
    一、adb介绍adb:AndroidDebugBridge,Android调试桥的缩写,adb是一个C/S架构的命令行工具,主要由3部分组成:运行在PC端的Client:可以通过它对Android应用进行安装、卸载及调试运行在PC端的Service:其管理客户端到Android设备上adb后台进程的连接运行在A......