webpack优化

cnd引入

有的时候咱们不想将第三方的库打包,想借助于别人的cdn引入。这时就须要externals。
以引入jq为例(vue以及其余库均可以),以及依赖jq的第三方插件:vue

  • cnd引入jq
  • 配置全局,key是你须要require的,value是你的全局变量
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'
  • 避免引入而不使用

异步加载组件(算vue项目的优化)

{
  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包过大。模块化

相关文章
相关标签/搜索