一:什么是Scope Hoisting? 它有什么作用?Scope Hoisting 它可以让webpack打包出来的代码文件更小,运行更快,它可以被称作为 "作用域提升".是在webpack3中提出来的,当然现在webpack4也是支持的. 在介绍之前,我们还是来和之前一样,看看我们项目整个目录架构如下: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有的依赖包 | |--- app |…
下面我们来配置下webpack4+react的开发环境,之前都是针对webpack4+vue的.下面我们也是在之前项目结构的基础之上进行配置下. 首先看下如下是我为 webpack4+react 基本的项目结构如下: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有的依赖包 | |--- app | | |---src | | | |-- index.jsx # 项目的入口文件jsx | | | |…
1. 为什么需要按需加载? 对于vue单页应用来讲,我们常见的做法把页面上所有的代码都打包到一个bundle.js文件内,但是随着项目越来越大,文件越来越多的情况下,那么bundle.js文件也会越来越大,文件大的时候会导致打开页面用户体验相对来说会变慢.因此按需加载代码是很有必要的,每次打开某一个页面的时候,只按需加载那个页面的代码,这样的话,项目中其他代码就不会被加载,这样的话,bundle.js文件也不会把所有项目页面文件代码打包进去,文件也不会很大.其他的页面对应的代码第一次都是按需加载…
mock的官网文档 mock官网 关于mockjs的优点,官网这样描述它:1)可以前后端分离.2)增加单元测试的真实性(通过随机数据,模拟各种场景).3)开发无侵入(不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据.)4)用法简单.5)数据类型丰富(支持生成随机的文本.数字.布尔值.日期.邮箱.链接.图片.颜色等).6)方便扩展(支持支持扩展更多数据类型,支持自定义函数和正则.) 总之:在开发中并不依赖后端的接口,我们自己根据接口文档,在真实的请求上拦截ajax后,且根据moc…
如果想要了解mock模拟数据的话,请看这篇文章(https://www.cnblogs.com/tugenhua0707/p/9813122.html) 在实际应用场景中,总感觉mock数据比较麻烦,并且在webpack3中mock数据的代码在正式环境并不能自动移除掉,导致正式环境有mock相对应的代码,但是在webpack4中,会使用 tree shaking插件会自动移除掉未使用到的代码的,想要了解tree shaking(https://www.cnblogs.com/tugenhua07…
阅读目录 一:vue传值方式有哪些? 二:理解使用Vuex 三:webpack4+vue+route+vuex 项目架构 回到顶部 一:vue传值方式有哪些? 在vue项目开发过程中,经常会使用组件来进行项目开发,那么在组件中会调用另一个组件来作为自己的子组件,那么我们如何进行给子组件进行传值呢?或者说,子组件如何给父组件传值呢?父子组件数据是如何通信的呢?因此vue常用的传值方式有如下几种:1. 父传子2. 子传父3. 非父子传值 父子组件传递数据可以看如下图所示 总结是:父组件向子组件传递数…
阅读目录 一. 理解使用hash 二:理解使用chunkhash 三:对第三方库打包后使用缓存 四:contenthash 回到顶部 一. 理解使用hash 一般情况下,对于前端静态资源,浏览器访问的时候希望资源都能够进行缓存,当第二次及以后进入页面的时候,页面就可以直接使用缓存资源,这样的话,页面打开速度很快,提高了用户体验同时也节省了带宽资源.而其中最为常见的一种最大化利用缓存的形式就是为静态资源加上hash, 使用一个不会重复的标识符来达到资源可以永久缓存的目的. 浏览器缓存方法有很多种,…
深入浅出的webpack构建工具--webpack4+vue搭建环境 (十三) 从上面一系列的webpack配置的学习,我们现在来使用webpack来搭建vue的开发环境.首先我们来设想下我们的项目的目录结构如下: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有的依赖包 | |--- app | | |---index | | | |-- views # 存放所有vue页面文件 | | | |--…
深入浅出的webpack构建工具---AutoDllPlugin插件(八) DllPlugin插件能够快速打包,能把第三方依赖的文件能提前进行预编译打包到一个文件里面去.提高了构建速度.因为很多第三方插件我们并不需要改动它,所以我们想这些第三方库在我们每次编译的时候不要再次构建它就好.因此 DLLPlugin插件就产生了,那么现在有DLLPlugin插件,我们现在为什么还需要一个AutoDllPlugin插件呢?该插件的具体的作用是什么呢? 我们从上一篇文章DllPlugin 可以看到,DllP…
深入浅出的webpack构建工具---DevServer配置项(二) 阅读目录 DevServer配置项 1. contentBase 2. port 3. host 4. headers 5. historyApiFallback 6. hot 7. inline 8. open 9. overlay 10. stats(字符串) 11. compress 12. proxy 实现跨域  摘要:webpack-dev-server是一个使用了express的Http服务器,它的作用主要是为了监…