Externals

Externals告诉Webpack那些模块不需要打包,这些模块依赖于外部环境,一般是通过外部环境提供的。比如jQuery的使用,通过Npm可以把jQuery模块下载到本地引入使用:

import $ from 'jquery';

像jQuery这种三方库,同时也提供了CDN资源:

<script src="https://code.jquery.com/jquery-3.1.0.js" crossorigin="anonymous"></script>

在使用script引入jQuery之后,在全局提供了jQuery这个全局变量,如果还想使用import语法导入就需要进行如下配置:

module.exports = {/* 其他配置 */externals: {jquery: 'jQuery'}
}

这里将导入语句里的jquery替换成全局变量jQuery。

如此一来,把jQuery抽离了出去,其引用由外部环境提供,这里通过CDN引入jQuery是外部环境提供实现的一种方式,外部环境提供还可以使用Npm下载的包,比如当使用Vue或者React等前端框架编写通用组件的时候,也可以配置Externals,使得该组件内部依赖的Vue或React模块依赖于集成该组件的项目中的Vue或React模块。

使用Externals减少了我们最后打包Bundle的大小,节约了请求时的带宽。

13 Webpack中的配置-Externals相关推荐

  1. Webpack中resolve配置

    背景: (1)开发中为什么引入模块时,不写具体的文件后缀,也能正确加载到文件呢? (2)甚至直接引入的是一个文件夹的路径时,也能正确使用文件下的index.js文件呢? import Child fr ...

  2. java配置文件中的plugin,启用ContextReplacementPlugin以忽略webpack中的配置和测试设置文件...

    我正在开发一个项目,其中我的文件夹结构如下 lib apps src / index.js(webpack的入口文件)jestEnvSetup.js webpack.config.js package ...

  3. 在Ubuntu 13.10 中安装配置 Hadoop 2.3.X - Tong Zeng

    预备条件: 1. 已安装JDK Add Hadoop Group and User $ sudo addgroup hadoop  $ sudo adduser --ingroup hadoop hd ...

  4. 配置webpack中externals来减少打包后vendor.js的体积

    背景 在日常的项目开发中,我们会用到各种第三方库来提高效率,但随之带来的问题就是打包后的vendor.js体积过大,导致加载时空白页时间过长,给用户的体验太差.为此我们需要减少vendor.js的体积 ...

  5. webpack安装及配置

    1.概念 webpack是一个静态化前端打包,可以把复杂的依赖关系打包为一个或多个文件,最终生成浏览器可以识别的资源html.css图片,js 2.安装 win+r输入cmd 唤出系统控制面板 然后进 ...

  6. webpack中的style-resources-loader加载全局css变量

    我们在项目中经常会遇到这种场景,抽离了一些公用的样式,并且还会定义一些变量,比如:variables , mixins , function,之前都是在每个样式文件中手动的@import导入.styl ...

  7. 使用webpack中的externals配置项如何配置

    externals配置项用于配置那些不需要打包进应用程序中的第三方依赖. 在webpack配置文件中,可以使用以下方式配置externals: module.exports = {externals: ...

  8. 在webpack中使用eslint配置(详细教程)-js教程-PHP中文网

    本篇文章主要介绍了webpack引入eslint配置详解,现在分享给大家,也给大家做个参考. webpack中eslint使用 首先,要使webpack支持eslint,就要要安装 eslint-lo ...

  9. webpack中配置jquery暴露全局(expose-loader)

    目录 源代码 普通引入 内联loader使用 webpack配置全部暴露jquery cdn配置 如何避免引入第三方模块 最终代码 源代码 链接:https://pan.baidu.com/s/1i4 ...

最新文章

  1. php中count获取多维数组长度的方法
  2. 交互式电子杂志_交互环境中电子杂志的生存发展探析
  3. Usage of field SENDABLE in BOL entity
  4. 用“Web的思想”做PC客户端
  5. Codeforces Round #659 (Div. 2)
  6. Qt 翻译文件的加载
  7. B树 B+树 B*树
  8. tcp码流中查找rtp头_跟踪数据流中的时间以查找性能问题
  9. [SHOI2008]堵塞的交通
  10. ALTOVA XMLSPY使用,建xml文件,构建xpath和XQuery查询,xml和json格式转换
  11. 小计一次监听器的报错之--ORA-12170
  12. 百度地图 sdk 使用小结(行动轨迹)
  13. NMI(Normalized Mutual Information)
  14. 韩乔生最牛的一次解说 (超级搞笑)
  15. 人生25句最美丽的名句
  16. sql语句中的子查询
  17. 保险不是场景,失去场景保险业将失去一切!
  18. R语言实战读书笔记(八)回归
  19. 千里马-modulo
  20. 注销命令linux,Linux基本命令-注销、关机、重启

热门文章

  1. 使用ThingJS,前端人员也能轻松搞定物联网开发!
  2. Axure中利用JSBOX制作3D高德地图组件
  3. Docker快速入门总结
  4. iOS-Mapkit高级教程:自定义瓦片
  5. Install/uninstall .deb files
  6. 无人机软件供应商DroneDeploy获B轮融资,欲染指机器人平台?
  7. aaaaaaaaaaA heH heH nuN
  8. CSRF cookie not set
  9. 历年四级真题(2022/6-1990)
  10. 从通信展上的手机看看现在研发手机的难易。