le_
le_
  • 发布:2019-11-12 13:53
  • 更新:2020-05-18 19:09
  • 阅读:1214

打包微信小程序时,所欲分包页面的 js,会被打包到主包的 vendor.js 中导致文件过大

分类:uni-app

详细问题描述

[内容] 如题,uniapp 在进行微信小程序打包时,会将分包页面引入的 js 打包到主包的 vendor.js 中。
页面较多时,主包文件大小会超过 2M 的限制。
vendor.js 文件会超过 500k 也会影响 ES6 转 ES5 等问题。

uni-app运行环境说明

[编译模式是老模板模式还是新的自定义组件模式?] 自定义组件模式

联系方式

[QQ] 380914334

2019-11-12 13:53 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

可以采用压缩和拆分,可以单独采用或者同时进行
压缩:pacakge.json中添加参数--minimize

"dev:mp-weixin": "cross-env NODE_ENV=development ZHICHI_ENV=develop UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch --minimize"

拆分:manifest.json中增加参数subPackages

"mp-weixin": {  
        "appid": "",  
        "permission": {  
            "scope.userLocation": {  
                "desc": "你的位置信息将用于地理位置展示与距离计算"  
            }  
        },  
        "setting": {  
            "urlCheck": false  
        },  
        "usingComponents": true,  
        "optimization": {  
            "subPackages": true  
        }  
    }
  • le_ (作者)

    试了一下是可以的,希望快更新到官方文档里,更新日志里也没有看到有相关功能说明

    2019-11-12 18:37

  • smallos@qq.com

    ZHICHI_ENV 这个参数是什么意思?可以另外增加一个环境变量吗?

    2019-12-23 16:14

  • DCloud_UNI_GSQ

    回复 smallos@qq.com: 这是人家项目自己定义的,你可以和他交流一下。

    2019-12-23 17:13

  • smallos@qq.com

    回复 DCloud_UNI_GSQ: 好的,谢谢。我是想法是可以在dev时候把map文件去掉,这样就小很多了。不清楚有没有这样的参数

    2019-12-23 17:25

  • DCloud_UNI_GSQ

    回复 smallos@qq.com: 不必,map文件本身也不上传

    2019-12-23 17:49

DCloud_UNI_CHB

DCloud_UNI_CHB

超过500k,不影响预览

  • le_ (作者)

    嗯嗯,但是页面多了,主包大小还是会超过限制

    2019-11-12 17:22

le_

le_ (作者)

官方有提供配置可以操作拆分 vendor.js 吗?或者其他方案把对应的分包代码放到分包里。

whoopsHzh@gmail.com

whoopsHzh@gmail.com

希望官方更新

tomzhao

tomzhao

试了下webpack拆包,h5生效,小程序还是只生成vendor.js一个包

itmonkey

itmonkey - 程序汪

包太大了

要回复问题请先登录注册