摘要:是開發的不可變數據集合。微信小程序無法直接使用進行調用需要對下載的代碼進行修改才能使用。原因分析使用了模塊化規范的實現很簡單,先判斷是否支持模塊規范,存在則使用方式加載模塊。通過測試,微信小程序運行環境并沒有定義。
Immutable 是 Facebook 開發的不可變數據集合。不可變數據一旦創建就不能被修改,是的應用開發更簡單,允許使用函數式編程技術,比如惰性評估。Immutable JS 提供一個惰性 Sequence,允許高效的隊列方法鏈,類似 map 和 filter ,不用創建中間代表。immutable 通過惰性隊列和哈希映射提供 Sequence, Range, Repeat, Map, OrderedMap, Set 和一個稀疏 Vector。
微信小程序無法直接使用require( "immutable.js" )進行調用,需要對下載的Immutable代碼進行修改,才能使用。
原因分析Immutable使用了UMD模塊化規范
(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的實現很簡單,先判斷是否支持Node.js(CommonJS)模塊規范,存在則使用Node.js(CommonJS)方式加載模塊。再判斷是否支持AMD,存在則使用AMD方式加載模塊。前兩個都不存在,則將模塊公開到全局。
exports、module必須都有定義,才能以CommonJS加載模塊。通過測試,微信小程序運行環境exports、module并沒有定義。
解決方法修改Immutable代碼,注釋原有模塊導出語句,使用module.exports = factory() 強制導出
(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" ); //獲取應用實例 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...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80489.html
摘要:以微信小程序調試時代碼為例兼容兼容微信小程序運行的代碼與模塊規范基本符合。使用第三方模塊微信小程序運行環境沒有定義,無法通過導入模塊,需要對第三方模塊強制導出后才能正常導入。 JavaScript模塊規范 在任何一個大型應用中模塊化是很常見的,與一些更傳統的編程語言不同的是,JavaScript (ECMA-262版本)還不支持原生的模塊化。 Javascript社區做了很多努力,在現...
摘要:昨日月,騰訊終于發布了沒有,無需申請也可以進行微信小程序開發的視頻教程了,我在在第一時間嘗試并發布了這個小視頻教程,入門足夠了各位免費拿去,慢慢享用鏈接密碼也可以添加微信小程序開發者交流群,只歡迎對微信小程序開發有興趣的朋友,其他勿加,感謝 昨日(9月23),騰訊終于發布了沒有APPid,無需申請也可以進行微信小程序開發的視頻教程了,我在在第一時間嘗試并發布了這7個小視頻教程,入門足夠...
摘要:微信小程序應用號開發資源匯總文檔工具教程代碼插件組件文檔從搭建一個微信小程序開始小程序開發文檔小程序設計指南工具小程序開發者工具官方支持微信小程序實時預覽的支持的微信小程序組件化開發框架轉在線工具小程序云端增強社區微信小程序 微信(小程序or應用號)開發資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個微信小程序開始 小程序開發文檔 小程序設計指南 工具 小程序開發者...
閱讀 1315·2023-04-26 01:28
閱讀 2065·2021-11-08 13:28
閱讀 2315·2021-10-12 10:17
閱讀 2280·2021-09-28 09:46
閱讀 4141·2021-09-09 09:33
閱讀 3719·2021-09-04 16:40
閱讀 1077·2019-08-29 15:21
閱讀 2689·2019-08-26 17:17