手机版

微信小程序开发实战:使用下划线 射流研究…

时间:2021-12-20 来源:互联网 编辑:宝哥软件园 浏览:

下划线。射流研究…是一个Java脚本语言工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何Java脚本语言内置对象下划线提供了100多个函数,包括常用的:映射、过滤、调用—当然还有更多专业的辅助函数,如:函数绑定、JavaScript模板功能、创建快速索引、强类型相等测试等等。微信小程序无法直接使用需要('下划线。js’)进行调用。

微信小程序模块化机制

微信小程序运行环境支持通信模块化,通过模块。导出暴露对象,通过需要来获取对象。

微信小程序快速启动实用程序

函数格式化时间(日期){ var year=date。getfullyear()var month=date。getmonth()1 var day=date。getdate()var hour=date。gethours()var分钟=日期。getminutes()var second=date。getseconds();返回[年、月、日]。地图(格式号)。联接('/')' '[小时、分钟、秒]。地图(格式号)。加入(' : ')}函数formatNumber(n) { n=n.toString()返回n[1]?n :"0"n }模块。导出={ format time : format time }页面/日志/日志。jsvar util=require('././utils/util。js’)Page({ data : { logs :[]},onload : function(){ this。setdata({ logs :(wx。getstorageync(' log ')| |[]).map(函数(日志){ return util。格式化时间(新日期(日志))})})

原因分析

下划线CommonJs模块导出代码如下:

//用//向后兼容旧的" require()"API导出**Node.js**的下划线对象。如果我们在//浏览器中,添加` _ '作为全局对象=='undefined') { if(模块类型!==“未定义”模块。导出){导出=模块。exports=_;}出口。_=_;} else { root ._=_;}导出、模块必须都有定义,才能导出。通过测试,微信小程序运行环境导出、模块并没有定义

//index.js//获取应用实例var app=GetApp();page({ OnLoad : function(){ console。日志(' OnLoad ');变量=这个;控制台。日志(‘出口类型3360’出口类型);控制台。日志('模块类型: '导出类型);var MyCLaSS=function(){ }模块。exports=MyCLaSS控制台。日志('模块的类型。导出3360 '类型的模块。出口);}}) 微信小程序开发实战:使用Underscore.js(图1)

解决方法

修改强调代码,注释原有模块导出语句,使用module.exports=_强制导出

/* //导出**Node.js**的下划线对象,//向后兼容旧的“require()”API .如果我们在//浏览器中,添加` _ '作为全局对象如果(出口类型!=='undefined') { if(模块类型!==“未定义”模块。导出){导出=模块。exports=_;}出口。_=_;} else { root ._=_;} */模块。exports=_;/* //为了与超微半导体公司加载器兼容,AMD注册发生在最后//,这可能不会对模块强制执行下一轮语义。尽管超微半导体公司注册的一般//实践是匿名的,但是下划线将//注册为命名模块,因为像jQuery一样,它是一个非常流行的基础库,可以捆绑在第三方库中,但不能作为超微半导体公司加载请求的一部分。当在加载器请求之外调用//匿名定义()时,这些情况可能会生成错误if(define类型==' function ' define。amd){ define('下划线,[],function(){ return _;});} */

使用Underscore.js

//索引。jsvar _=require('././libs/下划线/下划线。已修改。js’);//获取应用实例var app=GetApp();page({ OnLoad : function(){//console。日志(' OnLoad ');变量=这个;var line=[];排队。push(' _ .map([1,2,3],function(num){ return num * 3;});');排队。push(_ .map( [ 1,2,3 ],function(num){ return num * 3;}) );排队。push(' var sum=_).减少([1,2,3],函数(备忘录,编号){退回备忘录编号;}, 0);');排队。push(_ .减少([ 1,2,3 ],函数(备忘录,编号){退回备忘录编号;}, 0 ) );排队。push(' var even=_).find([1,2,3,4,5,6],function(num){ return num % 2==0;});');排队。push(_ .find( [ 1,2,3,4,5,6 ],function(num){ return num % 2==0;}) );排队。push(' _ .sortBy([1,2,3,4,5,6],函数(num){返回数学。罪恶;});');排队。push(_ .sortBy( [ 1,2,3,4,5,6 ],函数(num){返回数学。罪恶;}) );排队。push(' _ .indexOf([1,2,3],2);');排队。push(_ .indexOf([1,2,3],2));这个。setdata({ text :行。join(' \ n ')})})微信小程序开发实战:使用Underscore.js(图2)

版权声明:微信小程序开发实战:使用下划线 射流研究…是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。