国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

在小程序中集成redux/immutable/thunk第三方庫的方法

2024-05-06 15:31:45
字體:
來源:轉載
供稿:網友

一、前言

小程序給我們暴露了兩個參數 require 和 module , require 用來在模塊中加載其他模塊, module 用來將模塊中的方法暴露出去

module.exports = function(){}

所以只要需要讓第三方庫的代碼使用這種形式的 export 就可以了

二、構建Redux的微信小程序包

打一個 Redux 包,讓它可以兼容微信小城的加載方式

git clone https://github.com/reactjs/redux.gitnpm install# 詳細內容可以到redux項目的package.json中查看# 這些命令是是使用webpack構建UMD模式的包。也就是說所有的代碼,包括依賴的庫都會被打包到一個文件中,并且自帶一段模塊加載代碼,文件可以在dist目錄下找到npm run build:umd && npm run build:umd

用編輯器打開 dist 目錄下的 redux.js 文件

(function webpackUniversalModuleDefinition(root, factory) {  if(typeof exports === 'object' && typeof module === 'object')    module.exports = factory();  else if(typeof define === 'function' && define.amd)    define([], factory);  else if(typeof exports === 'object')    exports["Redux"] = factory();  else    root["Redux"] = factory();})(this, function() {... })

這段代碼是用來加載模塊的,里面的factory函數的返回的內容是用webpack提供的loader組織起來的redux的代碼和第三方依賴。

如果我們把這個文件拷貝到小程序中,只需要讓程序能正常進入第三行代碼,就能把Redux加載進來 將第二行代碼: if(typeof exports === 'object' && typeof module === 'object') 修改成: if(typeof module === 'object') 這樣修改的原因是,在微信小程序的環境中是沒有exports變量的,所以就沒辦法正確進入這個分支,刪除之后就可以正確進入 我們拷貝到 libs 目錄下,那么我們在程序中使用時,只要當做是一個本地模塊去 require 就可以了 var redux = require('./libs/redux.js') 我們可以通過類似的方法,使用 Webpack 打包第三方庫,就可以集成任何庫了

三、集成Redux-devtools

因為微信小程序的開發環境是定制的,暫時沒有發現辦法直接安裝 redux-devtool 的插件

安裝remote-redux-devtools

原版的 remote-redux-devtools 使用的一個 websocket 的依賴會使用原生的 WebSocket ,小程序是不支持的,所以需要改成小程序的 websocket 實現,修改好的代碼 https://github.com/poetries/wx-redux-immutable-template/blob/master/wx-redux-immutable-template/public/libs/remote-redux-devtools.js

把代碼下載到工程目錄里面就可以用了

安裝和啟動remotedev-server

npm install -g remotedev-serverremotedev --hostname=localhost --port=5678

因為沒辦法用 npm 安裝到本地(微信小程序會嘗試去加載項目目錄中的所有js),所以這里使用全局安裝,第二條命令是啟動 remotedev-server , hostname 和 port 分別指定為 localhost 和 5678

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 彰化市| 阳西县| 哈巴河县| 饶阳县| 苏尼特左旗| 大名县| 华阴市| 英山县| 深州市| 赫章县| 武安市| 台州市| 沂南县| 云安县| 武强县| 波密县| 肥东县| 玉龙| 莒南县| 高阳县| 林甸县| 广丰县| 郓城县| 安丘市| 盐边县| 松溪县| 东乌| 安溪县| 武义县| 博野县| 琼海市| 翁源县| 日土县| 台东县| 娱乐| 禹州市| 织金县| 黑龙江省| 修文县| 屏东县| 抚州市|