一个强大的小程序富文本组件mp-html

简介: 一个强大的小程序富文本组件mp-html

1、mp-html简介

小程序自带的rich-text 组件支持的标签少且屏蔽所有事件,难以实际应用。mp-html组件能够便捷的在小程序平台上处理富文本的组件,还支持丰富的扩展功能。

  • 特性
    支持在多个主流的小程序平台和 uni-app 中使用
    支持丰富的标签(包括 table、video、svg 等)
    支持丰富的事件效果(自动预览图片、链接处理等)
    支持设置占位图(加载中、出错时、预览时)
    支持锚点跳转、长按复制等丰富功能
    支持大部分 html 实体
    丰富的插件(关键词搜索、内容编辑、latex 公式 等)
    效率高、容错性强且轻量化(≈25KB,9KB gzipped)

2、安装方式

通过 npm 获取

npm install mp-html

或通过 yarn 获取

yarn add mp-html

git 方式

通过 github 获取

git clone https://github.com/jin-yufeng/mp-html.git

或通过 gitee 获取

git clone https://gitee.com/jin-yufeng/mp-html.git

下载 zip

github releases:https://github.com/jin-yufeng/mp-html/releases
gitee releases:https://gitee.com/jin-yufeng/mp-html/releases

3、引入

  • npm 方式(本方法仅适用于微信、QQ 小程序)

在小程序项目根目录下通过 npm 安装组件包

开发者工具中勾选 使用 npm 模块(若没有此选项则不需要)并点击 工具 - 构建 npm

在需要使用页面的 json 文件中添加

{
  "usingComponents": {
    "mp-html": "mp-html"
  }
}
  • 源码引入(本方法适用于所有平台)

将 源码 中对应平台的代码包(dist/platform)拷贝到 components 目录下,更名为 mp-html

在需要使用页面的 json 文件中添加

{
  "usingComponents": {
    "mp-html": "/components/mp-html/index"
  }
}

4、使用

在需要使用页面的 wxml 文件中添加

<mp-html content="{{html}}" />

在需要使用页面的 js 文件中添加

Page({
  onLoad () {
    this.setData({
      html: '<div>Hello World!</div>'
    })
  }
})

5、uni-modules 方式

(uni-app 框架,本方法需要使用 3.1.0+ 版本的 HBuilder X 开发)

进入 插件市场,点击右上角的 使用 HBuilder X 导入插件 按钮导入项目或点击 下载插件ZIP 按钮下载插件包并解压到项目的 uni_modules/mp-html 目录下

在需要使用页面的 (n)vue 文件中添加

<template>
  <view>
    <!-- 不需要引入,可直接使用 -->
    <mp-html :content="html" />
  </view>
</template>
<script>
  export default {
    data () {
      return {
        html: '<div>Hello World!</div>'
      }
    }
  }
</script>

需要更新版本时在 HBuilder X 中右键 uni_modules/mp-html 目录选择 从插件市场更新 即可

源码方式

将 源码 中 dist/uni-app 内的内容拷贝到 项目根目录 下

插件市场 的 非 uni_modules 版本无法更新,请从其他方式获取 源码

在需要使用页面的 (n)vue 文件中添加

<template>
  <view>
    <mp-html :content="html" />
  </view>
</template>
<script>
  import mpHtml from '@/components/mp-html/mp-html'
  export default {
    // HBuilderX 2.5.5+ 可以通过 easycom 自动引入
    components: {
      mpHtml
    },
    data () {
      return {
        html: '<div>Hello World!</div>'
      }
    }
  }
</script>

6、npm 方式

在项目根目录下通过 npm 安装组件包

在需要使用页面的 (n)vue 文件中添加

<template>
  <view>
    <mp-html :content="html" />
  </view>
</template>
<script>
  import mpHtml from 'mp-html/dist/uni-app/components/mp-html/mp-html'
  export default {
    // 不可省略
    components: {
      mpHtml
    },
    data () {
      return {
        html: '<div>Hello World!</div>'
      }
    }
  }
</script>

7、运行

安装依赖

npm install
  • 生成微信示例项目到 dev/mp-weixin
npm run dev:weixin
  • 生成 qq 示例项目到 dev/mp-qq
npm run dev:qq
  • 生成百度示例项目到 dev/mp-baidu
npm run dev:baidu
  • 生成支付宝示例项目到 dev/mp-alipay
npm run dev:alipay
  • 生成头条示例项目到 dev/mp-toutiao
npm run dev:toutiao
  • 生成 uni-app 示例项目到 dev/uni-app
npm run dev:uni-app
目录
相关文章
|
19天前
|
小程序 JavaScript
【微信小程序】之轮播图、swiper、swiper-item、banner组件使用
【微信小程序】之轮播图、swiper、swiper-item、banner组件使用
【微信小程序】之轮播图、swiper、swiper-item、banner组件使用
|
1月前
|
存储 小程序 JavaScript
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
|
1月前
|
JSON 小程序 数据格式
【微信小程序】-- 自定义组件总结 (四十)
【微信小程序】-- 自定义组件总结 (四十)
|
1月前
|
小程序 JavaScript
【微信小程序】-- 自定义组件 - behaviors(三十九)
【微信小程序】-- 自定义组件 - behaviors(三十九)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
|
1月前
|
小程序
【微信小程序】-- 自定义组件 - 纯数据字段 & 组件的生命周期(三十六)
【微信小程序】-- 自定义组件 - 纯数据字段 & 组件的生命周期(三十六)
|
1月前
|
小程序 JavaScript
【微信小程序】-- 自定义组件 - 数据监听器 (三十四)
【微信小程序】-- 自定义组件 - 数据监听器 (三十四)
|
1月前
|
存储 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
|
1月前
|
小程序
【微信小程序】-- 其它常用组件介绍 -- button & image(八)
【微信小程序】-- 其它常用组件介绍 -- button & image(八)