时间:2021-05-18
前言
Underscore.js是一个很精干的库,压缩后只有4KB。Underscore 提供了100多个函数,包括常用的:map、filter、invoke — 当然还有更多专业的辅助函数,如:函数绑定、JavaScript 模板功能、创建快速索引、强类型相等测试等等。弥补了标准库的不足,大大方便了JavaScript的编程。
微信小程序无法直接使用require( 'underscore.js' )进行调用。
微信小程序模块化机制
微信小程序运行环境支持CommoJS模块化,通过module.exports暴露对象,通过require来获取对象。
微信小程序Quick Start utils/util.js
function formatTime(date) { var year = date.getFullYear() var month = date.getMonth() + 1 var day = date.getDate() var hour = date.getHours() var minute = date.getMinutes() var second = date.getSeconds(); return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')}function formatNumber(n) { n = n.toString() return n[1] ? n : '0' + n}module.exports = { formatTime: formatTime}pages/log/log.js
var util = require('../../utils/util.js')Page({ data: { logs: [] }, onLoad: function () { this.setData({ logs: (wx.getStorageSync('logs') || []).map(function (log) { return util.formatTime(new Date(log)) }) }) }})原因分析
Underscore CommonJs模块导出代码如下:
// Export the Underscore object for **Node.js**, with// backwards-compatibility for the old `require()` API. If we're in// the browser, add `_` as a global object.if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { exports = module.exports = _; } exports._ = _;} else { root._ = _;}exports、module必须都有定义,才能导出。通过测试,微信小程序运行环境exports、module并没有定义
//index.js//获取应用实例var app = getApp();Page({ onLoad: function () { console.log('onLoad'); var that = this; console.log('typeof exports: ' + typeof exports); console.log('typeof module: ' + typeof exports); var MyClass = function() { } module.exports = MyClass; console.log('typeof module.exports: ' + typeof module.exports); }})解决方法
修改Underscore代码,注释原有模块导出语句,使用module.exports = _ 强制导出
/* // Export the Underscore object for **Node.js**, with // backwards-compatibility for the old `require()` API. If we're in // the browser, add `_` as a global object. if (typeof exports !== 'undefined') { if (typeof module !== 'undefined' && module.exports) { exports = module.exports = _; } exports._ = _; } else { root._ = _; } */ module.exports = _;使用Underscore.js
总结
以上就是微信小程序使用第三方库Underscore.js的全部内容,希望对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:在使用pycharm学习python的时候,经常需要第三方库,没有第三方库程序就会报错,pycharm也会提醒你要安装所需要的库,安装第三方库的时候往往就
1.在小程序微信开放平台:设置---第三方服务里,申请腾讯视频插件2.申请成功后就可以在项目中使用了具体使用步骤如下:1.在项目目录src下的main.js中加
第三方微信抽奖平台的使用,并不像传统的制作工具一样,需要自己写代码程序,相反,这种第三方的微信抽奖平台,通过微信抽奖平台设定好的模板,可以让微信运营者快速的制作
使用手机将照片表格转换成excel需要使用到第三方具有图文表识别系统的软件。以微信为例,具体的步骤如下:打开微信,搜索“表格识别”小程序,打开小程序,可以直接拍
4月13日消息,近日,三方小程序开发工具即速应用和数据智能技术提供商nEqual及旗下微信小程序第三方数据分析工具及策共同发布行业首份《微信小程序广告投放价值T