webpack打包优化:cdn资源引入+ webpack externals配置

externals
防止将某些import的包打包进bundle中,而是在运行时再去外部(cdn,script的方式)获取这些扩展依赖。


操作三部曲

  1. html文件中引入cdn资源
    <head>
     <link rel="stylesheet" href="//unpkg.com/iview@2.8.0/dist/styles/iview.css">
     <script src="//cdn.bootcss.com/vue/2.5.17/vue.min.js"></script>
     <script src="//unpkg.com/iview@2.8.0/dist/iview.min.js">  </script>
    </head>
    
  2. webpack externals配置
    // webpack.config.js
    module.exports = {
       externals: {
          iview: 'iview' // '包名':'全局变量' 
       }
    }
    // 属性名iview指的是 `import iview from 'iview'`中的'iview'
    // 属性值 iview指的是iview暴露出来的全局对象名
    
  3. 文件中引用
      import iview from 'iview'
    

externals和libraryTarget的关系

  • externals 是决定的以哪种模式去加载所引入的额外的包
  • libraryTarget决定了你的library运行在哪个环境,哪个环境也就决定了你哪种模式去加载所引入的额外的包。
  • 一般运行在浏览器环境的,libraryTarget可以不设置,默认模式是global(全局变量的模式加载所引入外部的库)。externals应该和libraryTarget保持一致。

libraryTarget取值var(默认)、assign、this、window、global、commonjs、commonjs2、amd、umd、jsonp
具体参考:https://blog.csdn.net/frank_yll/article/details/78992778

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分:概念 概念 webpack 是一个现代的 JavaScript 应用程序的模块打包器(module bu...
    吴佳浩阅读 8,181评论 0 2
  • 为什么要配置externals 官网解释: webpack 中的 externals 配置提供了不从 bundle...
    magicwager阅读 36,758评论 1 13
  • 好久没有写日记了。。。今天我专心学习webpack,跟着网上的文章请练完这16个webpack小例子翻译阮一峰大神...
    还有谁叫李狗蛋阅读 10,483评论 1 6
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 13,842评论 0 21
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 14,333评论 7 110