uniapp打包字节跳动小程序时,包体积变大突增

这篇具有很好参考价值的文章主要介绍了uniapp打包字节跳动小程序时,包体积变大突增。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

✨问题

最近在工作中使用uniapp来进行开发页面,在使用uniapp执行打包字节跳动小程序命令时,发现同样的一套代码打包后,字节跳动小程序的包体积将近是微信小程序打包后的体积3倍多😨。

🎃字节跳动小程序打包后的体积
uniapp打包字节跳动小程序时,包体积变大突增
🎃微信小程序打包后的体积
uniapp打包字节跳动小程序时,包体积变大突增
当然如果只在编辑器中去调试小程序,体积增大并没有太多的影响,但是一旦使用真机预览或者是真机调试,就会因为包体积太大而导致打包失败,也就无法真机预览与调试。

✨推想

为了验证自己的推想。
分别执行运行字节跳动小程序(npm run dev:mp-toutiao)、微信小程序(npm run dev:mp-weixin)
查看两个小程序打包后的产物。
uniapp打包字节跳动小程序时,包体积变大突增
通过比对发现,问题好像出在.sourcemap之中。字节跳动小程序打包后少了一个文件夹。那么问题就出现了字节跳动小程序的那部分sourcemap到哪里了?
通过对webpack的查看发现,字节跳动小程序sourcemap用的inline-source-map,该属性不会生成独立的 .map文件,而是将 .map文件以dataURL的形式插入。

Webpack 的 devtools 有一些 解释 可以拓展阅读。

uniapp打包字节跳动小程序时,包体积变大突增
通过搜索产物代码来验证,就知道为什么体积突增了,微信小程序的产物中 sourcemap 是引用了独立 sourcemap 文件夹中的文件,而字节小程序的产物中,sourcemap 就是base64编码后内联形式存在产物文件中了。

🎇解决

假如字节小程序也使用微信小程序的配置项,就可以达到同样的产物结果。
因此,在项目根目录下中增加 vue.config.js ,修改 vue-cli-service 的配置。

configureWebpack: (c) => {
    // 仅针对开发环境做处理
    if (process.env.NODE_ENV !== 'development') {
      return {};
    }
    const x = c.plugins.findIndex(p => p instanceof webpack.SourceMapDevToolPlugin);
    // 删除掉可能存在的旧的配置
    if (x > -1) {
      c.plugins.splice(x, 1);
    }
    // 新增一个新的配置
    return {
      plugins: [sourceMap.createSourceMapDevToolPlugin(true)],
    };
  },

在修改配置文件之后,再使用npm run dev:mp-toutiao 得到小程序体积可以说和微信小程序产物几乎一样了
uniapp打包字节跳动小程序时,包体积变大突增
考虑到 inline sourceMap 本身是通过 base64 编码后得到的字符串,比原有 source map 文件要大的。所以,当代码量很大时,这一步的改变带来的体积收益是非常可观的。

这样解决后,通过 uni-app 开发字节小程序的时候,再也不会遇到预览,真机调试失败的问题了。
-。-!🎉🎉🎉文章来源地址https://www.toymoban.com/news/detail-496106.html

到了这里,关于uniapp打包字节跳动小程序时,包体积变大突增的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 体验字节跳动豆包AI大模型生成华为镜子及小程序简介

    华为镜子是华为手机自带的一个“镜子”小工具,除了可以照镜子外,还有几个好玩的小功能。具体操作方法如下: 在“实用工具”文件夹里找到“华为镜子”,打开它。 对着它哈一口气,镜子表面就会形成雾气,可以在镜子上随便涂鸦,如画1个心形。 用手指在镜子上长按

    2024年02月02日
    浏览(70)
  • 蚂蚁金服的面试流程,【微信小程序学习(1),字节跳动面试必问

    (1)协议必须是https协议 (2)一个接口最多配置20个域名 (3)并发限制上限时10个 (4)开发过程中设置不校验合法域名:开发工具—右上角详情—本地设置—不校验 3、发送ajax请求 (1)封装功能函数 功能点要明确 函数内部应该保留固定代码(静态的) 将动态的数据抽取

    2024年04月23日
    浏览(44)
  • 微信小程序:uniapp解决上传小程序体积过大的问题

    在昨天的工作中遇到了一个微信小程序上传代码过大的情况,在这里总结一下具体的解决步骤,首先介绍一下,技术栈是使用uniapp框架+HBuilderX的开发环境。 错误提示 真机调试,提示包提交过大,不能正常生成二维码,后续上传代码更是不可能了,减少包中的体积顺着这条思

    2024年02月03日
    浏览(57)
  • 小程序:uniapp解决主包体积过大的问题

    已经分包但还是体积过大 运行时勾选“运行时是否压缩代码”进行压缩 在 manifest.json 配置(开启分包优化) 在 app.json 配置(设置组件按需注入)

    2024年02月07日
    浏览(46)
  • uniapp分包,小程序分包处理 ,小程序发布包体积过大解决方案

    分包就是把一个完整的小程序项目,按照需求划分为不同的子包,构建的时候打包城不同的分包,按需加载 1、 可以减少小程序首次启动的下载时间 2、 可以多人开发中更好的解耦协作 3、 小程序发布主包体积过大 1、 整个小程序,主包加分包不能超过20M,单个包不能超过2M,主包也

    2024年02月04日
    浏览(45)
  • uniapp使用uview主包体积过大(面向微信小程序)

    本人的是使用Hbuilder x进行的开发uniapp转微信小程序项目 使用前:    使用后: 整个爱住~(。≧3≦)ノ⌒☆!!!  友情提示 这个压缩可能会导致你代码热更新变慢,所以你开发的时候 不上传代码的时候 把这个勾东西关掉

    2024年02月11日
    浏览(60)
  • uniapp小程序,部分 ios 真机测试出现 input 输入框内容 跳动 问题

    前言 :最近在写uniapp小程序,遇到一个问题,在此记录一下,也希望能帮助到一些小伙伴。 问题 :表单输入的时候,在个别 ios 真机上面测试时,快速输入和快速删除,会发现输入的文字或者数字,有自动删除、闪动、来回跳动等现象,经过查询各种资料,以及咨询官方得

    2024年02月11日
    浏览(42)
  • 字节跳动高频题目(1)

     3,1,42,200,15 121,128,49,25,88 5,146,70,2,4 21,33,55,27,560 11,20,31,53,236 300,26,215,279,438 135,148,9,169,76 22,101,14,54,56 72,206,152,80,39 46,62,104,122,179 3. Longest Substring Without Repeating Characters Medium Given a string  s , find the length of the  longest   s

    2024年04月28日
    浏览(33)
  • 字节跳动春招——特征提取

           小明是一名算法工程师,同时也是一名铲屎官。某天,他突发奇想,想从猫咪的视频里挖掘一些猫咪的运动信息。为了提取运动信息,他需要从视频的每一帧提取“猫咪特征”。一个猫咪特征是一个两维的vectorx, y。如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。    

    2024年02月07日
    浏览(41)
  • 字节跳动懂车帝一面

    自我介绍 3分钟 项目介绍 10分钟 完单率解释 广告计费和消耗 AB实验一般怎么做? 常见AB策略有哪些类型? 进行AB的策略是如何寻找? 决定要不要AB,通常是有新的能力/产品上线,预计对业务的核心关注指标有收益,需要用实验证明有收益可扩量 AB怎么分组,以及各自多少流

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包