首页 > 软件开发 > JavaScript >

webpack实用小功能

来源:互联网 2023-03-16 23:57:22 500

webpack实用小功能,非常不错,需要的朋友可以参考下。W0I办公区 - 实用经验教程分享!

工具/原料

  • JavaScript

方法/步骤

  • 1

    1.overlayW0I办公区 - 实用经验教程分享!

    overlay属于devServer的属性,配置案例如下:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 2

    overlay的作用是可以在浏览器打开的页面显示终端编译时产生的错误。通过配置该属性,以后在写代码的时候,编译如果出错了,我们就不需要打开终端看到底是什么报错了,可以直接在页面里看到错误,对于开发而言确实很方便。W0I办公区 - 实用经验教程分享!

    2.require.ensureW0I办公区 - 实用经验教程分享!

    相比较overlay,require.ensure可以的作用更加实用,上次讲的vue2-webpack3配置的是多页面的应用,但是如果是SPA应用W0I办公区 - 实用经验教程分享!

    最容易遇到的问题代码全部打包在一个js里面,导致这个js过于庞大,最终导致应用首次加载时等待时间过长,require.ensure就是专门用来解决这个问题的。W0I办公区 - 实用经验教程分享!

    使用起来也很简单,只要按照下面的写法来进行vue的router配置即可:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 3

    可以看到require.ensure有三个参数W0I办公区 - 实用经验教程分享!

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

    3.webpack-bundle-analyzerW0I办公区 - 实用经验教程分享!

    这是一个webpack的插件,它的主要作用是用来分析我们模块打包的资源情况,非常的直观,也非常的实用,下面先看下它的效果图:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 4

    首先你得先install,然后配置如下:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 5

    是不是很简单却很实用呢~W0I办公区 - 实用经验教程分享!

    4.DllPlugin DllReferencePluginW0I办公区 - 实用经验教程分享!

    在使用webpack开发的过程中,相信很多人都会觉得有时候项目启动编译时间等待太久了,因为当项目慢慢庞大起来的时候,我们依赖的模块越来越多,每次项目启动编译都需要全部编译打包,所以自然会导致编译时间偏长,W0I办公区 - 实用经验教程分享!

    首先思路是这样的,一般node_modules文件中的依赖,基本上是不会去做改变的,所以没有必要每次都去进行打包,完全可以将这些依赖提前打包好,然后就可以一直使用了。W0I办公区 - 实用经验教程分享!

    DllPlugin就是用来提前打包我们的依赖包的插件。DllPlugin分为两个插件,一个是DllPlugin,另一个是DllReferencePlugin。W0I办公区 - 实用经验教程分享!

    首先DllPlugin的作用是用来提前打包好依赖,步骤如下:W0I办公区 - 实用经验教程分享!

    新建一个vendor.js,用来引入所有我们依赖的模块:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 6

    配置好了以后,就可以到终端里运行webpack --config webpack.config.dll.js了,然后就能在你的dist/dll目录下看到一个dll.vendore.js和一个vendor-manifest.json文件,到此DllPlugin提取依赖的作用就完成了。W0I办公区 - 实用经验教程分享!

    下面是DllReferencePlugin的配置,这个配置更简单,找到项目原本的webpack.config.js文件,然后配置如下:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 6相关内容非法爬取自百度经验
  • 7

    这样就都配置好了,但是这样做还存在个问题,当你运行项目时,会提示:W0I办公区 - 实用经验教程分享!

    You are using the runtime-only build of Vue...W0I办公区 - 实用经验教程分享!

    大概的意思就是说因为使用了vue的template,使用的vue版本不对,所以我在webpack.config.dll.js里面对vue做如下设置:W0I办公区 - 实用经验教程分享!

    webpack实用小功能W0I办公区 - 实用经验教程分享!

  • 8

    否则会默认打包vue.runtime.common.js,正确的应该是打包vue.common.js这个文件。做了以上配置以后,本以为就OK了,但还是太天真,依旧还是报了一样的错误。W0I办公区 - 实用经验教程分享!

    然后到webpack.config.js里面做了同样的配置,结果就OK了。但是这会导致vue被打包了两份,所以暂时只能放弃在vendor内引入vue了,导致该问题的原因暂不明了。W0I办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!W0I办公区 - 实用经验教程分享!


    标签: JAVASCRIPT

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码