有的时候咱们不想将第三方的库打包,想借助于别人的cdn引入。这时就须要externals。
以引入jq为例(vue以及其余库均可以),以及依赖jq的第三方插件:vue
externals: { jquery: 'window.$' },
使用则直接 require 进来,反正 webpack 也不会把它打包进来。jquery
var $ = require('jquery');
依赖jq的插件直接src引入便可。webpack
import { debounce } from 'lodash' import { throttle } from 'lodash' // 改为以下写法 import debounce from 'lodash/debounce' import throttle from 'lodash/throttle'
{ path: '/somepath', component: function (resolve) { require(['./demos/somepath.vue'], resolve) } }
假如,你使用的是 Vue,将一个组件(以及其全部依赖)改成异步加载,所须要的只是把:web
import scorerecord from '../views/scorerecord.vue'
改成以下写法:异步
const scorerecord = () => import('../views/scorerecord.vue')
如此分割之时,该组件所依赖的其余组件或其余模块,都会自动被分割进对应的 chunk 里,实现异步加载,固然也支持把组件按组分块,将同组中组件,打包在同个异步 chunk 中。如此可以很是有效的抑制 js包过大。模块化