您当前的位置: 首页 >  微信小程序

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

微信小程序:引入工具库lodash

彭世瑜 发布时间:2021-12-14 15:34:13 ,浏览量:1

引入

方式一:npm安装

微信小程序支持npm包

npm i --save lodash

方式一:下载min.js压缩包

wget https://raw.githubusercontent.com/lodash/lodash/4.17.15-npm/lodash.min.js \
-O lodash@4.17.15.min.js

复制到libs文件夹

使用
// import _ from 'lodash';
import _ from './libs/lodash@4.17.15.min.js';

// 全局挂载lodash工具库
wx.$_ = _;

对比

npm此方式引入的包体积很大,占用了533KB,而微信单包体积允许2M

上传代码时,微信开发者工具并没有将lodash包进行打包压缩

所以采用min.js方式,以减少包体积

方式包体积推荐npm533KB❌min.js72KB✅ 问题

引入lodash后,运行小程序会报错 在这里插入图片描述

需要引入一个修复包

lodash-fix.js

/**
 * 修复 微信小程序中lodash 的运行环境
 */
global.Object = Object;
global.Array = Array;
// global.Buffer = Buffer
global.DataView = DataView;
global.Date = Date;
global.Error = Error;
global.Float32Array = Float32Array;
global.Float64Array = Float64Array;
global.Function = Function;
global.Int8Array = Int8Array;
global.Int16Array = Int16Array;
global.Int32Array = Int32Array;
global.Map = Map;
global.Math = Math;
global.Promise = Promise;
global.RegExp = RegExp;
global.Set = Set;
global.String = String;
global.Symbol = Symbol;
global.TypeError = TypeError;
global.Uint8Array = Uint8Array;
global.Uint8ClampedArray = Uint8ClampedArray;
global.Uint16Array = Uint16Array;
global.Uint32Array = Uint32Array;
global.WeakMap = WeakMap;
global.clearTimeout = clearTimeout;
global.isFinite = isFinite;
global.parseInt = parseInt;
global.setTimeout = setTimeout;

在引入lodash之前就引入修复包

import './libs/lodash-fix.js';
import _ from './libs/lodash@4.17.15.min.js';

参考 微信小程序引入 lodash

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.0585s