1.overlay

overlay属于devServer的属性,配置案例如下:

1
2
3
4
5
6
devServer: {
 overlay: {
  errors: true,
  warnings: true
 }
}

配置很简单,那它的作用是什么呢?overlay的作用是可以在浏览器打开的页面显示终端编译时产生的错误。通过配置该属性,以后在写代码的时候,编译如果出错了,我们就不需要打开终端看到底是什么报错了,可以直接在页面里看到错误,对于开发而言确实很方便。

2.require.ensure

相比较overlay,require.ensure可以的作用更加实用,上次讲的vue2-webpack3我们配置的是多页面的应用,但是如果是SPA应用呢?

我们最容易遇到的问题代码全部打包在一个js里面,导致这个js过于庞大,最终导致应用首次加载时等待时间过长,那么该怎么解决这个问题呢?require.ensure就是专门用来解决这个问题的。

该怎么使用?

使用起来也很简单,只要按照下面的写法来进行vue的router配置即可:

1
2
3
4
5
6
7
8
9
10
const Layout = require('../Layout')
const Home = r => require.ensure([], () => r(require('../home'), home)
export default [{
 path: '/',
 component: Layout,
 children: [{
  path: '',
 component: Home
 }]
}]

可以看到require.ensure有三个参数

第一个参数的作用是配置依赖列表,被依赖的模块会和当前模块打包到一起; 第二个参数是一个函数,将要单独打包的模块传入回调里; 第三个参数是chunkname,可用来配置js的文件名; 配置完了以后,当我们加载这个页面的时候,属于每个页面自己的代码部分,就会单独去加载了。

3.webpack-bundle-analyzer

这是一个webpack的插件,它的主要作用是用来分析我们模块打包的资源情况,非常的直观,也非常的实用

4.DllPlugin+DllReferencePlugin

在使用webpack开发的过程中,相信很多人都会觉得有时候项目启动编译时间等待太久了,为什么呢?因为当项目慢慢庞大起来的时候,我们依赖的模块越来越多,每次项目启动编译都需要全部编译打包,所以自然会导致编译时间偏长,那如何解决这个问题呢?

首先思路是这样的,一般node_modules文件中的依赖,基本上是不会去做改变的,所以没有必要每次都去进行打包,我们完全可以将这些依赖提前打包好,然后就可以一直使用了。

DllPlugin就是用来提前打包我们的依赖包的插件。DllPlugin分为两个插件,一个是DllPlugin,另一个是DllReferencePlugin。

最新文章

  1. [SQL]收缩数据库日志
  2. docker ui
  3. 使用Redux管理你的React应用
  4. G面经prepare: Sort String Based On Another
  5. 字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev() (转载)
  6. Unity3d之MonoBehaviour的可重写函数整理
  7. [easyui] datebox源码阅读. 批注
  8. 问题:关于坛友一个获取text内容并改变样式的实现
  9. 【POJ 1741】 Tree (树的点分治)
  10. Windows Phone 8初学者开发—第21部分:永久保存Wav音频文件
  11. C/C++各种类型int、long、double、char表示范围(最大和最小)
  12. 解决Database returned an invalid datetime value. Are time zone definitions for your database installed?
  13. Hadoop之YARN思维导图
  14. 常用gcc选项
  15. Android 集成ShareSDK分享QQ或空间成功后,回调却不执行的原因
  16. Django----djagorest-framwork源码剖析
  17. hbase备份数据与异地新建
  18. chrome 下改动 agent 的方法
  19. DOM 练习
  20. Java并发编程原理与实战二十九:Exchanger

热门文章

  1. css 雪碧图
  2. JVM原理解析
  3. 树莓派 Learning 002 装机后的必要操作 --- 06 共用键鼠 之 windows和树莓派
  4. Ubuntu下Apache2+Tomact7安装、配置及整合
  5. Postman使用-1
  6. Python中的循环语句
  7. SAS笔记(3) LAG和DIFF函数
  8. Head First Python 1-4章学习感悟
  9. mybatis笔记 - 初始配置及dao的封装
  10. heap 堆