摘要:是開發(fā)的不可變數(shù)據(jù)集合。微信小程序無法直接使用進行調(diào)用需要對下載的代碼進行修改才能使用。原因分析使用了模塊化規(guī)范的實現(xiàn)很簡單,先判斷是否支持模塊規(guī)范,存在則使用方式加載模塊。通過測試,微信小程序運行環(huán)境并沒有定義。
Immutable 是 Facebook 開發(fā)的不可變數(shù)據(jù)集合。不可變數(shù)據(jù)一旦創(chuàng)建就不能被修改,是的應(yīng)用開發(fā)更簡單,允許使用函數(shù)式編程技術(shù),比如惰性評估。Immutable JS 提供一個惰性 Sequence,允許高效的隊列方法鏈,類似 map 和 filter ,不用創(chuàng)建中間代表。immutable 通過惰性隊列和哈希映射提供 Sequence, Range, Repeat, Map, OrderedMap, Set 和一個稀疏 Vector。
微信小程序無法直接使用require( "immutable.js" )進行調(diào)用,需要對下載的Immutable代碼進行修改,才能使用。
原因分析Immutable使用了UMD模塊化規(guī)范
(function (global, factory) { typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global.Immutable = factory()); }(this, function () { "use strict";var SLICE$0 = Array.prototype.slice; .... }));
UMD的實現(xiàn)很簡單,先判斷是否支持Node.js(CommonJS)模塊規(guī)范,存在則使用Node.js(CommonJS)方式加載模塊。再判斷是否支持AMD,存在則使用AMD方式加載模塊。前兩個都不存在,則將模塊公開到全局。
exports、module必須都有定義,才能以CommonJS加載模塊。通過測試,微信小程序運行環(huán)境exports、module并沒有定義。
解決方法修改Immutable代碼,注釋原有模塊導(dǎo)出語句,使用module.exports = factory() 強制導(dǎo)出
(function(global, factory) { /* typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global.Immutable = factory()); */ module.exports = factory(); }(this, function() {使用Immutable.js
//index.js var Immutable = require( "../../libs/immutable/immutable.modified.js" ); //獲取應(yīng)用實例 var app = getApp(); Page( { onLoad: function() { //console.log("onLoad"); var that = this; var lines = []; lines.push( "var map1 = Immutable.Map({a:1, b:2, c:3});" ); var map1 = Immutable.Map({a:1, b:2, c:3}); lines.push( "var map2 = map1.set("b", 50);" ); var map2 = map1.set("b", 50); lines.push( "map1.get("b");" ); lines.push(map1.get("b")); lines.push( "map2.get("b");" ); lines.push(map2.get("b")); this.setData( { text: lines.join( " " ) }) } })其他
完整代碼 https://github.com/guyoung/Gy...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/80489.html
摘要:以微信小程序調(diào)試時代碼為例兼容兼容微信小程序運行的代碼與模塊規(guī)范基本符合。使用第三方模塊微信小程序運行環(huán)境沒有定義,無法通過導(dǎo)入模塊,需要對第三方模塊強制導(dǎo)出后才能正常導(dǎo)入。 JavaScript模塊規(guī)范 在任何一個大型應(yīng)用中模塊化是很常見的,與一些更傳統(tǒng)的編程語言不同的是,JavaScript (ECMA-262版本)還不支持原生的模塊化。 Javascript社區(qū)做了很多努力,在現(xiàn)...
摘要:昨日月,騰訊終于發(fā)布了沒有,無需申請也可以進行微信小程序開發(fā)的視頻教程了,我在在第一時間嘗試并發(fā)布了這個小視頻教程,入門足夠了各位免費拿去,慢慢享用鏈接密碼也可以添加微信小程序開發(fā)者交流群,只歡迎對微信小程序開發(fā)有興趣的朋友,其他勿加,感謝 昨日(9月23),騰訊終于發(fā)布了沒有APPid,無需申請也可以進行微信小程序開發(fā)的視頻教程了,我在在第一時間嘗試并發(fā)布了這7個小視頻教程,入門足夠...
摘要:微信小程序應(yīng)用號開發(fā)資源匯總文檔工具教程代碼插件組件文檔從搭建一個微信小程序開始小程序開發(fā)文檔小程序設(shè)計指南工具小程序開發(fā)者工具官方支持微信小程序?qū)崟r預(yù)覽的支持的微信小程序組件化開發(fā)框架轉(zhuǎn)在線工具小程序云端增強社區(qū)微信小程序 微信(小程序or應(yīng)用號)開發(fā)資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個微信小程序開始 小程序開發(fā)文檔 小程序設(shè)計指南 工具 小程序開發(fā)者...
閱讀 1322·2023-04-26 01:28
閱讀 2075·2021-11-08 13:28
閱讀 2322·2021-10-12 10:17
閱讀 2302·2021-09-28 09:46
閱讀 4148·2021-09-09 09:33
閱讀 3728·2021-09-04 16:40
閱讀 1103·2019-08-29 15:21
閱讀 2696·2019-08-26 17:17