最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序使用第三方庫Immutable.js實例詳解

 更新時間:2016年09月27日 10:42:31   投稿:daisy  
Immutable 是 Facebook 開發(fā)的不可變數(shù)據(jù)集合。不可變數(shù)據(jù)一旦創(chuàng)建就不能被修改,是的應(yīng)用開發(fā)更簡單,允許使用函數(shù)式編程技術(shù),比如惰性評估。微信小程序無法直接使用Immutable.js,下面就來說說微信小程序如何使用第三方庫Immutable.js。

前言

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( '\n' )
 })
 }
})

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望能對大家的學(xué)習(xí)或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 使用JS組件實現(xiàn)帶ToolTip驗證框的實例代碼

    使用JS組件實現(xiàn)帶ToolTip驗證框的實例代碼

    這篇文章主要介紹了使用JS組件實現(xiàn)帶ToolTip驗證框的實例代碼,需要的朋友可以參考下
    2017-08-08
  • 微信小程序自定義日期選擇器

    微信小程序自定義日期選擇器

    這篇文章主要為大家詳細介紹了微信小程序自定義日期選擇器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下<BR>
    2022-01-01
  • JS Canvas接口和動畫效果大全

    JS Canvas接口和動畫效果大全

    這篇文章主要介紹了JS Canvas接口和動畫效果大全,對Canvas感興趣的同學(xué),可以參考下
    2021-04-04
  • JS實現(xiàn)打磚塊游戲

    JS實現(xiàn)打磚塊游戲

    這篇文章主要為大家詳細介紹了JS實現(xiàn)打磚塊游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • js點擊返回跳轉(zhuǎn)到指定頁面實現(xiàn)過程

    js點擊返回跳轉(zhuǎn)到指定頁面實現(xiàn)過程

    這篇文章主要為大家詳細介紹了js點擊返回跳轉(zhuǎn)到指定頁面實現(xiàn)過程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 原生JavaScript實現(xiàn)網(wǎng)頁版計算器

    原生JavaScript實現(xiàn)網(wǎng)頁版計算器

    這篇文章主要為大家詳細介紹了原生JavaScript實現(xiàn)網(wǎng)頁版計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • JS對select控件option選項的增刪改查示例代碼

    JS對select控件option選項的增刪改查示例代碼

    Javascript操作select是表單中比較常見的,大家可以在網(wǎng)上搜索到很多的相關(guān)資料,接下來為大家詳細介紹下,JS動態(tài)操作select中的各種方法,感興趣的朋友可以參考下
    2013-10-10
  • webpack 開發(fā)和生產(chǎn)并行設(shè)置的方法

    webpack 開發(fā)和生產(chǎn)并行設(shè)置的方法

    這篇文章主要介紹了webpack 開發(fā)和生產(chǎn)并行設(shè)置的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 淺談JavaScript中小數(shù)和大整數(shù)的精度丟失

    淺談JavaScript中小數(shù)和大整數(shù)的精度丟失

    下面小編就為大家?guī)硪黄獪\談JavaScript中小數(shù)和大整數(shù)的精度丟失。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 封裝一個公用Echarts圖表組件的3種模板代碼示例

    封裝一個公用Echarts圖表組件的3種模板代碼示例

    這篇文章主要給大家介紹了關(guān)于封裝一個公用Echarts圖表組件的3種模板,定義圖表公共樣式是為了統(tǒng)一同一網(wǎng)站各頁面圖表的基礎(chǔ)樣式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02

最新評論

隆回县| 河池市| 政和县| 长春市| 惠州市| 九龙城区| 高唐县| 和平区| 兰溪市| 松江区| 鹤岗市| 盱眙县| 揭阳市| 徐水县| 黄龙县| 罗定市| 东辽县| 旅游| 镇巴县| 宁陵县| 西畴县| 晋江市| 古交市| 奉节县| 资溪县| 浦县| 儋州市| 丽江市| 武胜县| 合肥市| 乐东| 化隆| 微博| 石棉县| 阿坝| 鄱阳县| 高台县| 沾化县| 什邡市| 裕民县| 多伦县|