当前位置: 首页 > 编程笔记 >

webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程

张腾
2023-03-14
本文向大家介绍webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程,包括了webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程的使用技巧和注意事项,需要的朋友参考一下

DLLPlugin 和 DLLReferencePlugin的使用

DLLPlugin 和 DLLReferencePlugin 用某种方法实现了拆分 bundles,同时还大大提升了构建的速度。

1.首先build文件夹添加----webpack.dll.config.js:

var path = require("path");
var webpack = require("webpack");
module.exports = {
 // 要打包的模块的数组
 entry: {
  vendor: ['vue/dist/vue.esm.js','vue-router']
 },
 output: {
  path: path.join(__dirname, '../static/js'), // 打包后文件输出的位置
  filename: '[name].dll.js',// vendor.dll.js中暴露出的全局变量名。
  library: '[name]_library' // 与webpack.DllPlugin中的`name: '[name]_library',`保持一致。
 },
 plugins: [
  new webpack.DllPlugin({
   path: path.join(__dirname, '.', '[name]-manifest.json'),
   name: '[name]_library', 
   context: __dirname
  }),
 ]
};

2.在package.json的scripts里加上:

"dll": "webpack --config build/webpack.dll.config.js",

3.运行npm run dll 在static/js下生成vendor-manifest.json;

 4.在build/webpack.base.conf.js里加上:

// 添加DllReferencePlugin插件
 plugins: [
  new webpack.DllReferencePlugin({
   context: __dirname,
   manifest: require('./vendor-manifest.json')
  })
 ],

5.然后在index.html中引入vendor.dll.js:

<div id="app"></div>
<script src="./static/js/vendor.dll.js"></script>

至此,配置之后的:

 可以看到npm run build后的时间大幅度减少,在dist打包体积上也比之前的小。在项目优化中,可以很大程度上加快项目的构建速度和减少项目的打包体积。

总结

以上所述是小编给大家介绍的webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

 类似资料:
  • 本文向大家介绍详解如何webpack使用DllPlugin,包括了详解如何webpack使用DllPlugin的使用技巧和注意事项,需要的朋友参考一下 前言 (时光飞逝,转眼又偷懒了一个多月) 什么是DLL DLL(Dynamic Link Library)文件为动态链接库文件,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系

  • 本文向大家介绍详解webpack编译速度提升之DllPlugin,包括了详解webpack编译速度提升之DllPlugin的使用技巧和注意事项,需要的朋友参考一下 一、前言 The DllPlugin and DllReferencePlugin provide means to split bundles in a way that can drastically improve build t

  • 本文向大家介绍详解React之key的使用和实践,包括了详解React之key的使用和实践的使用技巧和注意事项,需要的朋友参考一下 在渲染列表时,React的差异比较算法需要一个在列表范围内的唯一key来提高性能(通常用于获知哪个列表项改变了)。这个唯一的key需要我们手动提供。React官方建议使用列表数据中可用于唯一性标识的字段来作为列表项渲染时的key。如果实在没有,则可使用数组的index

  • 本文向大家介绍webpack DllPlugin xxx is not defined解决办法,包括了webpack DllPlugin xxx is not defined解决办法的使用技巧和注意事项,需要的朋友参考一下 造成这个错误主要有3个可能的原因: context上下文不一致 library和name 不一致 生成的dll文件没加入到html文件中 dll.config.js webpa

  • 本文向大家介绍webpack配置的最佳实践分享,包括了webpack配置的最佳实践分享的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了关于webpack配置的最佳实践,本文分享的实践具有以下的优势: 使用happypack提升打包速度。 使用MD5 hash可以生成文件版本,进行版本控制 在非单页面的系统中支持多个入口的配置 模板中可以利用htmlplugin输出一些配置性的信息 支持de

  • 上一节,我们很多次使用了ReactiveCocoa的关键部分,这里有更多的机会来使用ReactiveCocoa整个代码库。开始吧! 首先在我们的画廊视图控制器中实现三个不同的代理方法:CollectionViewDataSource、CollectionViewDelegate、高清图视图控制器的PhotoViewControllerDelegate 使用一个称之为RACDelegateProxy