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

游戏网站建设毕业论文seo博客大全

游戏网站建设毕业论文,seo博客大全,wordpress标签是干什么的,如何网上做个人广告众所周知,next的webpack打包实际上分成了两个部分,一个是服务器端、一个是客户端,我们这里的配置主要是针对客户端的配置。 目的在于降低_app.js包大小,合理划分基础包、工具包、常用方法包、拆分lodash按需引入效果。 拆分lodas…

众所周知,next的webpack打包实际上分成了两个部分,一个是服务器端、一个是客户端,我们这里的配置主要是针对客户端的配置。
目的在于降低_app.js包大小,合理划分基础包、工具包、常用方法包、拆分lodash按需引入效果。

拆分lodash包

不知道大家有没有遇到过跟我们一样的问题:lodash已经配置了按需引入,但是打包出来却没有实现,还是一整个包引入的。排查了一段时间,才想明白:是因为客户端的代码中引用了server文件的一个config,那个config里又使用了lodash,导致依赖索引到服务端去了,无法解析那边使用的cjs模块处理,造成了这个问题。
修改方案:将那个config放到客户端的src文件夹下,不要从服务端的文件夹去引入。

babel配置如下:

  1. 配置babel转换路径为对应方法具体路径。(使用babel-import-plugin
    ["import",{"libraryName": "lodash","libraryDirectory": "",//表示从库的package.json的main入口;否则默认为lib文件夹"camel2DashComponentName": false // default: true,将引入的组件名转化为"-"连接的文件名}],

babel-plugin-lodash & lodash-webpack-plugin

babel-import-pluginbabel-plugin-lodash效果相同,都能实现按需引入的功能,但是babel-plugin-lodash可能会有一些更针对性的优化,比如摇树之类的。

实际使用和比较中发现使用与否的打包效果并没有区别。因此考虑了一下最终决定继续使用babel-plugin-import进行按需引入,不使用babel-plugin-lodash

网上很多是推荐babel-plugin-lodash & lodash-webpack-plugin配合一起使用。

但是在实际使用中发现:lodash-webpack-plugin会对模块做一些替换操作,导致莫名异常:找不到方法 / 参数不对。考虑到babel-plugin就已经可以达到效果了,引入webpack-plugin可能会引起其他风险,因此不考虑使用这个插件。

参考:
https://github.com/lodash/lodash-webpack-plugin
https://juejin.cn/post/7207678459270610999
在这里插入图片描述

降低_app.js包大小

合理划分基础包、工具包、公用方法包

根据一些查找的参考建议,包大小压缩后低于200k为宜,比如next在页面大小大于128kB时会提出建议那样。包的大小太大,占用带宽,TTB下降;限制太小,数量变多,也会造成并发请求数量上升,反而造成阻塞(尤其是移动端机型上)。

  • 综上,一些配置的参数做如下考虑:
  • maxSize为500000,压缩后每个包大小大约在100k左右。
  • 参考cacheGroups默认配置中framework / main的priority都是40,设置priority值为40。

当然其实要做到一个很完美的拆分方案是几乎不可能的,JS包中的很多看似冗余的代码,其实还牵扯到其他页面、或者项目整体的运行,所以我们只能找到一个尽量的平衡点
参考:https://blog.csdn.net/qq_33198051/article/details/123629823

疑惑点

其实这里我有一个很大的疑惑点,关于node_modules的依赖配置不生效的问题。
我遇到的问题:本地的打包构建产物和线上不同
比如本地已经拆分了mobx、antd依赖到单独的包,本地分析中已经完全清理,线上却仍然存在于_app.js包中。
如果去除单独打包的cacheGroup规则,本地和线上的antd打包大小是一致的。
问题在于为什么配置会不生效。

1. base:next / babel等
        cacheGroups.base = {name: 'base',test: /[\\/]node_modules[\\/](next|next-server|@babel)/,enforce: true,chunks: 'all',priority: 40,};
2. Mobx:依赖包和mobxStore一起拆分出去。
    cacheGroups.mobx = {name: 'mobx',test: /[\\/]node_modules[\\/](mobx|mobx-react|mobx-react-lite|mobx[\\/]dist)[\\/]|[\\/]src[\\/]mobx[\\/]/,enforce: true,// maxSize: 500000,chunks: 'all',priority: 40,};
3. antd

antd已经做了按需引入,如果不单独拆分,在_app中占用的大小为antd-50K左右,ant-design-30K左右

    cacheGroups.antd = {name: 'antd',test: /[\\/]node_modules[\\/](antd|@ant-design)[\\/]/,enforce: true,maxSize: 500000,chunks: 'all',priority: 40,};
4. 通用依赖工具包
    cacheGroups.vendors = {name: 'vendors',test: /[\\/]node_modules[\\/](axios|validator|ahooks|lodash)[\\/]/,enforce: true,chunks: 'all',maxSize: 500000,priority: 40,};
5. utils工具
    cacheGroups.utils = {name: 'utils',test: /[\\/]src[\\/]utils[\\/]/,enforce: true,chunks: 'all',maxSize: 400000,priority: 40,};
6. 公共方法包、通用的业务代码之类的

当一个模块被20个页面同时引用的时候,打包到common.js中,否则待在单独页面的包中

    cacheGroups.commons = {name: 'commons',enforce: true,chunks: 'all',maxSize: 500000,minChunks: 20,priority: 50,};
http://www.hkea.cn/news/113958/

相关文章:

  • 原平的旅游网站怎么做的新冠疫情最新情况最新消息
  • 网站开发软件著作权归谁seo外包
  • 小说网站的网编具体做哪些工作南宁网站快速排名提升
  • 承德网站设计seo互联网营销培训
  • 工信部网站备案查询 手机seo专员的工作内容
  • 淘宝活动策划网站视频营销成功的案例
  • 精准营销数据杭州排名优化软件
  • 中卫网站建站设计seo学习论坛
  • wordpress初始登录seo排名赚app靠谱吗
  • 软件外包保密协议seo相关岗位
  • 后台网站开发文档下载班级优化大师app
  • 辛集城乡建设管理局网站网络营销网络推广
  • 阿里云部署一个自己做的网站吗电商网站搭建
  • 免费汽车租赁网站模板网站域名解析ip查询
  • 企业解决方案官网国内seo排名分析主要针对百度
  • 变态版手游石景山区百科seo
  • 阿里云控制台登录入口seo矩阵培训
  • wordpress苗木模板网站搜索排优化怎么做
  • 网站图片引导页怎么做重庆seo招聘
  • 如何做属于自己的领券网站郑州百度网站优化排名
  • 建设银行益阳市分行桃江支行网站公司页面设计
  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏
  • 鹤岗商城网站建设免费域名申请
  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索
  • 长沙公司做网站多少钱推广平台怎么做