首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何正确设置webpack DLLPlugin的上下文

webpack DLLPlugin是一个用于优化打包速度的插件,它可以将一些不经常变动的代码打包成动态链接库(DLL),然后在每次构建时直接引用该动态链接库,从而减少构建时间。

设置webpack DLLPlugin的上下文需要以下步骤:

  1. 首先,在webpack配置文件中引入DLLPlugin和DllReferencePlugin插件:
代码语言:javascript
复制
const webpack = require('webpack');
const path = require('path');

module.exports = {
  // ...
  plugins: [
    new webpack.DllReferencePlugin({
      context: path.resolve(__dirname, 'dll'), // 设置上下文路径
      manifest: require('./dll/vendor-manifest.json') // 引入DLL生成的manifest文件
    })
  ]
};
  1. 在上述代码中,context参数指定了DLLPlugin的上下文路径,即DLL文件的基础路径。这个路径应该是一个绝对路径,可以使用path.resolve()方法将相对路径转换为绝对路径。
  2. 然后,需要在项目根目录下创建一个名为dll的文件夹,用于存放DLL文件。在该文件夹下执行以下命令生成DLL文件:
代码语言:bash
复制
webpack --config webpack.dll.config.js

其中,webpack.dll.config.js是一个专门用于生成DLL文件的webpack配置文件,可以根据项目需求进行配置。

  1. 执行上述命令后,会在dll文件夹下生成一个名为vendor.dll.js的DLL文件,同时还会生成一个名为vendor-manifest.json的manifest文件。
  2. 最后,在项目的webpack配置文件中引入DLL文件:
代码语言:javascript
复制
module.exports = {
  // ...
  entry: {
    app: './src/index.js',
    vendor: ['react', 'react-dom'] // 引入DLL文件
  },
  // ...
};

在上述代码中,vendor入口引入了DLL文件,这样在构建时就会直接使用DLL文件中的代码,而不需要重新打包。

通过正确设置webpack DLLPlugin的上下文,可以有效提高打包速度,特别是在大型项目中。同时,使用DLLPlugin还可以将一些不经常变动的代码单独打包成DLL文件,方便进行缓存和复用。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

webpack教程:如何从头开始设置 webpack 5

如果你们不习惯从头开始设置 webpack 来使用Babel、TypeScript、Sass、React或Vue,或者不知道为什么要使用 webpack,那么这篇文章是你最佳选择。.../src/index.js'), }, } Output 配置 output 选项可以控制 webpack 如何向硬盘写入编译文件。注意,即使可以存在多个入口起点,但只指定一个输出配置。...Clean 我们还需要设置clean-webpack-plugin,在每次构建后清除dist文件夹中所有内容。 这对于确保不遗留任何旧数据很重要。...现在Babel已经设置好了,但是我们Babel插件还没有。可以在index.js中添加一些新语法来证明它还不能正常工作。...从这里,可以轻松设置React,Vue,Typescript或其他任何您想要东西。 项目地址:webpack 5 boilerplate 看看它,摆弄它,享受它!

2.2K10

如何正确设置CRON定时任务

相信很多人看了标题后都会纳闷:设置 CRON 定时任务有什么难?不过请相信我,正确设置 CRON 真的不是一件简单事情!各位看官不妨听我慢慢道来。...对付此类问题方法很简单,那就是设置 CRON 时候尽可能使用完整全路径。...如果本文内容仅限于此类小菜,那么未免有些太对不起各位看官,下面上一道硬菜:设置一个 PHP 脚本,每分钟执行一次,怎么搞?... AB 同时请求情况,如何避免?...看起来似乎完美解决了问题,不过让我们在加入一点特殊情况:假如因为某些无法预知原因,导致脚本不能正常结束请求,进而导致不能正常释放锁,那么后续所有其它 CD 等请求也都无法执行了,如何避免?

1K10
  • 博客站长如何正确设置SEO

    基本概念 反向链接(back links):所说向内链接(inbound link),指的是从一个网页到你网页超级链接。...从你站点外网站链接到你网站链接,在搜索引擎做链接分析、并根据相关性来对搜索结果排序时候有很高价值。向外链接(outbound link),也就是出站链接。...站内链接:也称内链,网站域名下页面之间互相链接,自己网站内容链接到自己网站内部页面。...高级方法 设置良好网站关键字 网站关键字可以通过站长工具或者SEO工具进行检测,最好找你独有的而且不是特别火关键字,因为特别火比不过大网站,从小开始做,坚持发带有你独特关键字信息。...模拟出例子,假如你网页权重是10,出站链接数是5,那么每个链接传递权重为2。 需要注意是,导出链接并不会影响自身。大家都知道合理交换友链,能够让交换友链两个网站共同提升权重。

    24220

    如何webpack设置favicon--webpack入门教程(四)

    本文主要想介绍前端webpack打包中,与favicon图标相关配置。包括在html-webpack-plugin中设置favicon,和自定义favicon打包路径两个方面。...到线上环境只要直接去对应路径,找到对应favicon后替换即可。那么如何webpack打包时,自定义地控制favicon打包路径呢?通过下面的项目实例可以快速了解一下。...1.2 html-webpack-plugin中设置favicon 在html-webpack-plugin中设置favicon属性,属性值是favicon所在路径。 favicon: '....那么该如何直接指定favicon打包路径呢。 这里用了url-loader,通过test匹配到favicon.ico图标后,会根据设置name属性,将favicon打包到指定位置。...本文从无到有,比较详细地分步介绍了如何配置这么一个小小favicon。建议如果是要在loader中处理favicon,就不要同时在html-webpack-plugin中设置favicion属性。

    9.5K451

    性能优化篇---Webpack构建速度优化

    如何输出Webpack构建分析 输出Webpack构建信息.json文件:webpack --profile --json > starts.json --profile:记录构建中耗时信息...--json:以json格式输出构建结果,最后只输出一个json文件(包含所有的构建信息) web可视化查看构建分析:得到了webpack构建信息文件starts.json,如何进行很好可视化查看.../data')时webpack会先尝试寻找data.js,没有再去找data.json;如果列表越长,或者正确后缀越往后,尝试次数就会越多; 所以在配置时为提升构建优化需遵守: 频率出现高文件后缀优先放在前面...已内置) DllPlugin插件:用于打包出一个个单独动态链接库文件; DllReferencePlugin:用于在主要配置文件中引入DllPlugin插件打包好动态链接库文件 配置webpack_dll.config.js...:production模式默认有配有js压缩,但是如果这里设置了css压缩,js压缩也要重新设置,因为使用minimizer会自动取消webpack默认配置 new optimizeCssPlugin

    2.2K31

    一年前端面试打怪升级之路_2023-02-27

    webpack 层面如何做性能优化 优化前准备工作 准备基于时间分析工具:我们需要一类插件,来帮助我们统计项目构建过程中在编译阶段耗时情况。...使用DllPlugin,不用每次都重新构建 externals 和 DllPlugin 解决是同一类问题:将依赖框架等模块从构建过程中移除。...它们区别在于 在 Webpack 配置方面,externals 更简单,而 DllPlugin 需要独立配置文件。...this, name); this.label = label; } // 继承方法,创建备份 Bar.prototype = Object.create(Foo.prototype); // 必须设置正确构造函数...,会首先创建执行上下文,然后将执行上下文入栈,然后当此执行上下文处于栈顶时,开始运行执行上下文

    46920

    如何正确设置Java线程池参数?「建议收藏」

    大家好,又见面了,我是你们朋友全栈君。 如何正确设置Java线程池参数?...前言:在上篇文章我已经给读者介绍了Java线程池基本使用,以及参数定义。你真的了解Java线程池参数含义吗 本文我们更进一步,来聊聊在实际工作中如何设置Java线程池参数。...当我们自定义线程池时候 corePoolSize、maximumPoolSize、workQueue(队列长度)该如何设置?...、核心线程数、队列长度三个参数,因此将三个参数做成可配置,又因为需要辨别每个线程,因此还需要设置线程池名字。...,可是却未找到重新设置队列长度方法,通过翻看源码发现, 队列长度capacity被设置成了final对象,不可更改,因此我做法是重写队列,将大小设置为可改变,提供改变方法 创建 线程队列类:WoreadLinkedBlockingQueue

    2.6K12

    Webpack中各种环境变量正确姿势

    如果你有这种想法,耐心看下去我相信你会有不一样收获~ 毕竟所谓成长就是一点一滴积累过程!让我们来聊聊Webpack 5中使用环境变量各种正确姿势。...文章中从三个方面来讲解Webpack流程中环境变量: 业务代码中注入使用webpack环境变量。 官方提供构建过程使用webpack环境变量。 传统环境变量方法使用webpack构建过程环境变量。...__WEBPACK__ENV这个变量时,代码中会认识这个变量并且输出正确字符串值pacakges。...熟悉webpack同学其实已经想到了,我们可以通过webpackdefinePlugins这个插件进行注入: const wepback = require('webpack') // webpack.config.js...webpack.DefinePlugin引发思考 或许你已经很熟悉webpack.definePlugins这个插件使用了,别着急让我们耐心往下看看,由这段代码我们引发出一下几个思考: 'packages

    1.2K10

    旁路由设置正确方式

    一、旁路由配置 上图是旁路由连接方式,一般作为旁路由只有一个LAN口,可以把它想成一个普通连接路由器电脑。...这样配置后,网络流量变成下图了: 这样旁路由其实就是一个没有路由功能二级路由器了,你会发现在你迅雷等高速下载时候旁路由cpu会异常高,都用来nat了,而不是最初旁路由目的–只加解密科学流量。...还有的一种设置方法是不用加防火墙规则,旁路由加一个wan口,共用一个etho网口,这样我理解其实就是单臂路由吧?其实和上边差不多。...查看有没有设置正确方法很简单 1.迅雷等高速下载时候看cpu占用是不是很高 2.比较靠谱一种,看上下行流量,正确配置的话,旁路由上行是大于下行,如果上下相同且数据流量很大(高速下载时候比较明显...这是下载速度: 正确配置上下行速度和cpu占用: 错误配置上下行速度和cpu占用: 3.最最靠谱是去主路由看联网设备信息,会发现该设备ip是电脑,但是mac地址是软路由 当然,如果用主路由是华为

    9.5K20

    Webpack + vue 之抽离 CSS 正确姿势

    导语 最近做了个webpack+vue项目,发现打包后页面体积有点超出预期大。...为了减少请求量, 页面的js和css都是内联在html里面的,查看生成html代码后发现,异步引入vue模块中css 也被打在了页面上面。...大部分使用过webpack朋友都知道,抽离css需要使用到webpack插件extract-text-webpack-plugin,vue也不例外。...[hash:5].css', allChunks: true}) ] OK,这样打包后,我们把每个entry里面使用到css代码都单独打包出来了,这时候可以选择 使用html-webpack-plugin...生成带css 链接html,也可以使用html-webpack-inline-source- plugin把css内联到html里面(减少请求数量,在移动端很有用) 然而会发现,异步引入vue文件里面

    9.1K30

    5-10~11 webpack 性能优化(2)

    4.3 dll-plugin 和 dllreferenceplugin dll-plugin 是在一个额外独立 webpack 设置中创建一个只有 dll bundle(dll-only-bundle...DLLReferencePlugin 是在 webpack 主配置文件中设置, 这个插件把只有 dll bundle(s)(即:dll-only-bundle(s)) 引用到需要预编译依赖。...简言之,DllPlugin 和 DLLReferencePlugin 允许用户提前为所有那些不需要关心 npm 模块创建一个单独包,教会 Webpack 将它们引用到该包,大大减少了 Webpack...下面我们看下如何来使用: 首先安装该插件,这里要注意 webpack4 和 webpack2/3 安装版本并不一样。...小结 本节其实主要讲就是如何处理打包过程中磁盘缓存,并介绍了dll-plugin和dllreferenceplugin ,autodll-webpack-plugin 和 hard-source-webpack-plugin

    1.3K10

    GOLDENGATE内存管理以及如何正确设置内存参数

    1、goldengate如何管理内存 首先要说明是goldengate管理内存不是物理内存,管理只是virtual memroy和swap disk,这个被称为cachesize management...进程把操作系统所有内存和虚拟内存全部消耗完了导致系统性能问题甚至宕机. b:自己调整goldengate cachemgr cachesize后系统变慢甚至系统hang,关闭goldengate进行后系统恢复. 4、如何对...,不建议设置cachemgr,因为如果本身内存不足,设置cachesize很大反而会导致系统性能问题,因为系统本身没有足够内存,设置反而破坏goldengate自动优化机制....下面是一个系统内存使用率比较高系统,设置cachemgr参数与没有设置cachemgr时候对比情况,配置cachemgr cachesize后业务高峰期系统很卡,注释参数后系统恢复正常 系统自动优化是512M...5、如何通过cachemgr cachestats来设置合理cachesize 主要包括分配虚拟内存,cache size,请求分配内存区域,缓存事务大小分配区域,主要通过查看CACHE Transaction

    2.3K10

    webpack实战——打包优化【中】

    今天要介绍主角“DLLPlugin”则借鉴了动态链接库思路,对于第三方模块或者一些不常变化模块预先进行编译和打包,然后再项目实际构建过程中直接取用。...不过区别还是有的,DLLPlugin实际生成文件是JS文件而不是动态链接库。在打包vendor时候还会附加生成一份vendor模块清单,这份清单将会在工程业务模块打包时起到链接和索引作用。...DLLPlugin,并有如下配置: name: 导出dll library名字,需要与output.library值对应; path: 资源清单绝对路径,业务打包时将会使用这个清单进行模块索引;...这里推荐与DLLPlugin配套插件“DLLReferencePlugin”,它起到索引和链接作用。... 设置完毕后,当页面执行到vendor.js

    88050

    正确Webpack配置姿势,快速启动各式框架!

    初始Webpack 这里主要基于Webpack2来讲吧,Webpack1迁移到2还是不是特别难,官方也配了迁移文档。 其实官方文档也有很详细说明了,对于一般项目还是可以完全驾驭。...入口(entry) 将您应用程序入口起点认为是根上下文(contextual root)或app第一个启动文件。.../path/to/my/entry/file.js']}; 出口(output) output属性描述了如何处理归拢在一起代码(bundled code),在哪里打包应用程序。...,而上面CommonsChunkPlugin已经把部分抽离了)}) 解析(resolve) 这些选项能设置模块如何被解析。.../shared/something';// 配置后import {something} from 'shared/something'; 开发工具(devtool) 此选项控制是否生成,以及如何生成source

    1.5K30

    Webpack 实用技巧高效实战

    一、复杂项目配置正确姿势 - Node API: Webpack 配置方式,简单项目通过一份 webpack.config.js 配置文件可以 hold 住了。...如果你有用到一些自己写 loader,想设置别名而不用直接写相对路径,和模块别名(在resolve.alias 里设置)不同,需要在 resolveLoader.alias 里设置 loader 别名...(注意:bundle 在页面中载入顺序为: common1 => a/b ) 五、关于 DllPlugin (manifest): DllPlugin 相比 commonsChunkPlugin 是纯粹分离一种更独立打包方式...因为这些通常都是不会被修改。 使用 DllPlugin 打包分两步,一步是使用 DllPlugin 对需要独立出来库文件进行独立打包。这里是一个独立 webpack 打包过程和配置: 例: ....要注意是:如果没有指定 target 为 node,而代码里有 require Node 原生模块(例如http、url等)但又没有设置 Alias,也就是找不到这些模块时,Webpack 会尝试一个兼容逻辑

    1.6K90

    优化Webpack构建性能几点建议

    在开发现代 Web 应用过程中,Webpack 和我们开发过程和发布过程都息息相关,如何改善 Webpack 构建打包性能也关系到我们开发和发布部署效率。.../DllReferencePlugin 进行预先构建 ​Webpack DllPlugin 和 DllReferencePlugin 是在新版本中推出 Plugin,其思路就是把改变频率比较小第三方库等依赖单独打包构建...在这个配置文件中,使用 webpack DllPlugin 生成 manifest.json 文件和 Dll 模块文件。也可以引入诸如 uglifyPlugin 对第三方依赖进行压缩等处理。...path: path.resolve(__dirname, 'build', 'dll'), library: '[name]' }, plugins: [ new webpack.DllPlugin...以下是一些关于 Webpack 构建性能文章: 1):使用 DllPlugin 提升性能 2): PrefetchPlugin 使用 3): webpack 打包分析与性能优化 4): webpack

    85970

    优化Webpack构建性能几点建议

    在开发现代 Web 应用过程中,Webpack 和我们开发过程和发布过程都息息相关,如何改善 Webpack 构建打包性能也关系到我们开发和发布部署效率。.../DllReferencePlugin 进行预先构建 ​Webpack DllPlugin 和 DllReferencePlugin 是在新版本中推出 Plugin,其思路就是把改变频率比较小第三方库等依赖单独打包构建...在这个配置文件中,使用 webpack DllPlugin 生成 manifest.json 文件和 Dll 模块文件。也可以引入诸如 uglifyPlugin 对第三方依赖进行压缩等处理。...path: path.resolve(__dirname, 'build', 'dll'), library: '[name]' }, plugins: [ new webpack.DllPlugin...以下是一些关于 Webpack 构建性能文章: 1):使用 DllPlugin 提升性能 2): PrefetchPlugin 使用 3): webpack 打包分析与性能优化 4): webpack

    74230
    领券