当前位置: 首页 > news >正文

百度免费网站申请东莞市火速网络科技有限公司

百度免费网站申请,东莞市火速网络科技有限公司,水文化建设网站,网站恶意点击DLL#xff0c;动态链接库#xff08;Dynamic Link Library 或者 Dynamic-link Library#xff09;#xff0c;由微软公司提出。目的是为了节约应用程序所需的磁盘和内存空间。 在一个传统的非共享库中#xff0c;如果两个程序调用同一个子程序#xff0c;就会出现两份那…DLL动态链接库Dynamic Link Library 或者 Dynamic-link Library由微软公司提出。目的是为了节约应用程序所需的磁盘和内存空间。 在一个传统的非共享库中如果两个程序调用同一个子程序就会出现两份那段代码。让多个应用共享的代码切分到一个DLL中在硬盘上存为一个文件在内存中使用一个实例instance。 DllPlugin 和 DllReferencePlugin 用某种方法实现了拆分 bundles同时还大幅度提升了构建的速度。 把公共代码打包为 DLL 文件存到硬盘里第二次打包时动态链接 DLL 文件不重新打包打包时间缩短。 使用场景 在使用 webpack 开发过程中对于大量第三方包如vue、vue-router、axios等并不是经常发生变化。每次编译时都重新构建这些资源浪费了大量的时间。借助 DLL 思路webpack 中引入了 DllPlugin 和 DllReferencePlugin 允许拆分指定的第三方包、并创建单独的包生成 manifest.json 二次构建跳过这部分编译并教 Webpack 将它们引用到该包。以此提高整体构建速度。 第一步指定需要拆分的包形成 DLL 库 – DllPlugin 第二步告知webpack命中 DLL 库文件 – DllReferencePlugin Without DllPluginWith DllPluginBuild Time16461ms - 17310ms2991ms - 3505msDevServer Rebuild2924ms - 2997ms316ms - 369ms – 引自 autodll-webpack-plugin DllPlugin 此插件用于在单独的 webpack 配置中创建一个 dll-only-bundle。 此插件会生成一个名为 manifest.json 的文件这个文件是用于让 DllReferencePlugin 能够映射到相应的依赖上。生成 manifest.json实则就是一张映射表。 {entry: {vendor: [axios, vue, vue-router, vuex]},output: {path: ./public/dll,filename: [name].js,// vendor.dll.js中暴露出全局变量名// 保持与webpack.DllPlugin中name一致library: [name]_[hash],publicPath: /dll/},plugins: [// manifest.json描述动态链接库包含了哪些内容new webpack.DllPlugin({path: path.resolve(./public/dll, [name]-manifest.json),// 保持与output.library中名称一致name: [name]_[hash],context: process.cwd()})] }生成的 manifest.json 文件中包含了从 require 和 import 中 请求到模块 id 的映射。 {./node_modules/.pnpm/axios0.18.1/node_modules/axios/index.js: {id: ./node_modules/.pnpm/axios0.18.1/node_modules/axios/index.js,buildMeta: {providedExports: true}} }DllReferencePlugin 此插件配置在 webpack 的主配置文件中此插件会把 dll-only-bundles 引用到需要的预编译的依赖中。 通过引用 dll 的 manifest 文件来把依赖的名称映射到模块的 id 上之后再在需要的时候通过内置的 __webpack_require__ 函数来 require 对应的模块 {plugins: [new webpack.DllReferencePlugin({context: process.cwd(),manifest: path.resolve(./public/dll, vendor-manifest.json)}),new AddAssetHtmlPlugin([{filepath: path.resolve(./public/dll, vendor.js),typeOfAsset: js,publicPath: /dll/},{filepath: path.resolve(./public/dll, vendor.css),typeOfAsset: css,publicPath: /dll/}]),] }遗留问题 通过上述配置构建速度得了提升但其配置比较复杂。同时会存在一些问题 变更了包新增、删除、版本需要手动重新构建生成 DLLDev Server 模式下资源都被加载到内存中DLL 方式依然会从文件系统中读取 AutoDllPlugin AutoDllPlugin 插件完美解决了上述问题隐藏了大量配置的复杂性。 当第一次构建包时AutoDllPlugin 会编译 DLL并将包中的所有指定模块引用到 DLL下次编译代码时AutoDllPlugin 将跳过构建并改为从缓存中读取。每次更改插件配置、安装或删除节点模块时AutoDllPlugin 都会重建 DLL。当使用 Webpack 的 Dev Server 时bundle 被加载到内存中以防止从文件系统中进行不必要的读取。 plugins: [new HtmlWebpackPlugin({inject: true, // 将 main bundle 注入到 index.htmltemplate: ./public/index.html,}),new AutoDllPlugin({inject: true, // 将 DLL bundle 注入到 index.htmlfilename: [name]_[hash].js,path: /dll,entry: {vendor: [axios, vue, vue-router, vuex]}}) ]AutoDllPlugin 有被 vue-cli 使用所以可放心使用。 但在 vue-cli 引入 webpack4 之后移除了该包“因为 Webpack 4 的打包性能足够好的dll 没有在 Vue ClI 里继续维护的必要了。” dll option will be removed. Webpack 4 should provide good enough perf and the cost of maintaining DLL mode inside Vue CLI is no longer justified. – https://github.com/vuejs/vue-cli/issues/1205 HardSourceWebpackPlugin AutoDllPlugin 其 github 仓库中给出了重要提示。 HardSourceWebpackPlugin 为模块提供中间缓存步骤。 Webpack5 中已对该部分进行了官方实现。 总结 按照上面的描述我们应该摒弃 webpack dll 吗 不然webpack dll 除了提升构建速度它还允许在不同项目之间共享代码初衷。
http://www.w-s-a.com/news/325445/

相关文章:

  • 门户网站建设的报价百度医生在线问诊
  • 北京公司注册在哪个网站浏览器打开网址404
  • 廊坊做网站公司绣花图案设计网站
  • 网站空间租用哪个好购物网站建设模板图片
  • 建设银行包头分行网站泰安网签成交量最新
  • 手机微网站与微官网现在去成都需要隔离吗
  • 学校的二级网站怎么建设深圳企业网站制作设计
  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱
  • nginx 网站建设淘客网站怎么做首页
  • 网站制作的基本步骤是手机网站建设 新闻
  • 水墨 网站源码工装
  • 任丘网站建设服务网站 建设原则
  • 长沙做一个网站要多少钱网站底部备案代码
  • wordpress构建自定义设置页面seo培训学什么