首先说分包

uniapp分包的方法在开放文档里有,有基础的小伙伴就可以看懂

下面是我在开发中用到的分包 首先 我们在根目录下创建一个pagesB文件夹,用来放置需要分包的页面 下一步是把比较大的文件直接拉过去,pages里就没有这个文件了,然后配置路由

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
"subPackages": [{
		"root": "pagesB",  //文件夹名称,  pages文件夹同级新建一个就行
		"pages": [
			{
			    "path" : "line_otem_detail/line_otem_detail",
			    "style" : {
					"navigationBarTitleText": "确认订单"
				}
			},
		 ]
	}],

它和pages里的路由地址的差距就是没有前缀

两个包的页面分开了,想要联系怎么办? 只需修改路由跳转的路径即可 比如pages里的某个文件要跳转到pagesB里的某个文件,需要精确查找 就是说我要去你家,你只给我口述哪哪哪,我要你发定位,像这样

1
"../../pagesB/shopping_detail/shopping_detail"

下面是分包预加载

就是说进入那个页面的时候就开始加载某个包文件

1
2
3
4
5
6
 "preloadRule": {
		"pages/index/index": {
			"network": "all",
			"packages": ["pagesB"]
		}
	},

all是不限制网络,packages是加载的包名 就这么简单,分包就完成了 进入微信开发者工具,左上角详情,基本信息,本地代码点开就可以看到了

然后是压缩

针对vendor.js过大的情况可以使用运行时压缩代码 HBuilderX创建的项目勾选运行–>运行到小程序模拟器–>运行时是否压缩代码 cli创建的项目可以在pacakge.json中添加参数–minimize,示例:

1
dev:mp-weixin”: “cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch --minimize

压缩大概可以压一倍左右,所以我建议先压缩运行,再分包