国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

微信小程序開發(fā)實戰(zhàn)——使用Immutable.js

邱勇 / 1624人閱讀

摘要:是開發(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

相關(guān)文章

  • 微信小程開發(fā)實戰(zhàn)——模塊化

    摘要:以微信小程序調(diào)試時代碼為例兼容兼容微信小程序運行的代碼與模塊規(guī)范基本符合。使用第三方模塊微信小程序運行環(huán)境沒有定義,無法通過導(dǎo)入模塊,需要對第三方模塊強制導(dǎo)出后才能正常導(dǎo)入。 JavaScript模塊規(guī)范 在任何一個大型應(yīng)用中模塊化是很常見的,與一些更傳統(tǒng)的編程語言不同的是,JavaScript (ECMA-262版本)還不支持原生的模塊化。 Javascript社區(qū)做了很多努力,在現(xiàn)...

    CoffeX 評論0 收藏0
  • 全球首發(fā),微信小程開發(fā)實戰(zhàn)視頻教程發(fā)布

    摘要:昨日月,騰訊終于發(fā)布了沒有,無需申請也可以進行微信小程序開發(fā)的視頻教程了,我在在第一時間嘗試并發(fā)布了這個小視頻教程,入門足夠了各位免費拿去,慢慢享用鏈接密碼也可以添加微信小程序開發(fā)者交流群,只歡迎對微信小程序開發(fā)有興趣的朋友,其他勿加,感謝 昨日(9月23),騰訊終于發(fā)布了沒有APPid,無需申請也可以進行微信小程序開發(fā)的視頻教程了,我在在第一時間嘗試并發(fā)布了這7個小視頻教程,入門足夠...

    mushang 評論0 收藏0
  • 前端資源系列(3)-微信小程開發(fā)資源匯總

    摘要:微信小程序應(yīng)用號開發(fā)資源匯總文檔工具教程代碼插件組件文檔從搭建一個微信小程序開始小程序開發(fā)文檔小程序設(shè)計指南工具小程序開發(fā)者工具官方支持微信小程序?qū)崟r預(yù)覽的支持的微信小程序組件化開發(fā)框架轉(zhuǎn)在線工具小程序云端增強社區(qū)微信小程序 微信(小程序or應(yīng)用號)開發(fā)資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個微信小程序開始 小程序開發(fā)文檔 小程序設(shè)計指南 工具 小程序開發(fā)者...

    paney129 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<