当前位置: 首页 > wzjs >正文

如何做网站推广营销美工网站

如何做网站推广营销,美工网站,电销crm客户管理系统,asp自动获取网站快照 网站缩略图基于MDX的在线文档实时编译方案 一、什么是MDX? MDX 是一种用于编写 Markdown 和 JSX 内容的格式,其全称是 “Markdown for JSX”。它结合了 Markdown 的简洁易用与 JSX(JavaScript XML)的强大功能,使得开发者可以在 Markdown …

基于MDX的在线文档实时编译方案

一、什么是MDX?

MDX 是一种用于编写 Markdown 和 JSX 内容的格式,其全称是 “Markdown for JSX”。它结合了 Markdown 的简洁易用与 JSX(JavaScript XML)的强大功能,使得开发者可以在 Markdown 文档中直接插入并使用 React 组件。这种格式特别适合于构建内容丰富的文档或博客,同时需要一部分动态、交互性组件的项目。

  1. 结合 Markdown 和 JSX: 你可以在一个文件中同时使用 Markdown 的简洁语法和 JSX 的灵活组件,使得编写内容和展示组件更加方便和一致。

  2. 动态交互: 由于可以在 MDX 中使用 React 组件,开发者能够轻松地添加交互性元素,比如按钮、图表、表单等,这对于需要动态内容的文档或网站特别有用。

  3. 易于集成: MDX 可以与很多静态网站生成器(如 Gatsby 和 Next.js)集成,使开发者能够在现代框架中轻松使用它。

  4. 拓展性强: 由于 MDX 本质上是 JavaScript,可以利用 JavaScript 的生态系统进行扩展,比如使用额外的插件来处理自定义的需求。

总结:Markdown与Jsx的结合体,可以在md文档的基础上加入各类动态React组件,可用来实现动态文档。

二、工作流程

1. 工作流程拆解

  • 其核心提供了jsx-runtime依赖,并通过evaluate&compile方法,在线将mdx文档编译为可渲染React组件可执行js文件
  • mdx支持将文档编译为多种格式的产物,也支持定制各类文档主题,编辑器等,搭配起来可以实现非常不错的效果。

在这里插入图片描述

2. 依赖安装

下面将通过一个实际案例,梳理MDX工作的过程与原理(需要在任意React项目中进行)

npm i @mdx-js/mdx @mdx-js/react --save-dev

2. 编写编辑器组件

import React, { useState } from 'react';
import { Splitter, Card, Input, Typography } from 'antd';
import MdxPreview from './MdxPreview';
import defaultMDX from './defaultMDX.md';const { Title } = Typography;function App() {const [mdxValue, setMdxValue] = useState(defaultMDX);return (<div style={{ padding: '20px' }}><Cardtitle={<Title level={2}>MDX Runtime Edit Demo</Title>}style={{ border: '1px solid #f0f0f0' }}><Splitter style={{ height: '80vh' }}><Splitter.Panel defaultSize='40%' min='20%' max='70%' style={{ height: '100%' }}><Input.TextAreastyle={{fontFamily: 'monospace',fontSize: '14px',}}value={mdxValue}onChange={({ target: { value } }) => {setMdxValue(value);}}rows={40}/></Splitter.Panel><Splitter.Panel style={{ height: '100%' }}><divstyle={{border: '1px dashed #d9d9d9',boxSizing: 'border-box',padding: '20px 30px',overflow: 'auto',backgroundColor: '#fff',}}><MdxPreview mdxValue={mdxValue} /></div></Splitter.Panel></Splitter></Card></div>);
}export default App;

3. 编写渲染组件

import React, { useEffect, useState } from 'react';
import { message, Typography } from 'antd';
import * as antdComponents from 'antd';
import * as runtime from 'react/jsx-runtime';
import { evaluate, compile } from '@mdx-js/mdx';const { Title, Text } = Typography;function MdxPreview({ mdxValue }) {const [Content, setContent] = useState(null);const [error, setError] = useState(null);/*** MDX核心渲染方法*/const renderMDX = async () => {try {setError(null);// 将MDX文档构建为.js文件const compileResult = await compile(mdxValue, {});// 将MDX文档编译为可执行组件const { default: MDXContent } = await evaluate(mdxValue, {...runtime,development: false,});setContent(() => MDXContent);} catch (error) {console.error('Error processing MDX:', error);setError(error.message);message.error('MDX 编译错误,请检查语法');}};useEffect(() => {renderMDX();}, [mdxValue]);return (<>{error ? (<div style={{ color: 'red' }}><Title level={4}>错误信息:</Title><pre>{error}</pre></div>) : Content ? (<Content// 注入Antd所有组件components={{...antdComponents,}}/>) : (<Text type='secondary'>Loading...</Text>)}</>);
}export default MdxPreview;

3. 实现效果

在左侧修改任意内容,右侧均会实时渲染
在这里插入图片描述

三、Mdxeditor编辑器解决方案

  1. 提供成熟的编辑器&渲染组件
  2. 提供多种工具与插件,可以灵活配置编辑器
  3. 支持jsx、sandbox等插件,组件渲染能力非常强

官网:https://mdxeditor.dev/editor/demo
在这里插入图片描述

http://www.dtcms.com/wzjs/667253.html

相关文章:

  • 贵阳建站公司模板微网站开发 付费阅读
  • 雏鸟短视频app软件下载网站拓者设计网
  • wordpress 音乐网站互动营销网站
  • 重庆企业网站设计制作用jquery做的书籍网站
  • 教务管理系统数据库设计百度seo网站优化
  • 无锡网站app微信号js获取网站域名
  • 网站如何做微信分享推广网站建设 app开发网站
  • 东莞企业网站设计排名网站数据库分离怎么做
  • 网站做下载word世界上有一个wordpress站点
  • 中小企业网站开发如何设置中国建设银行网站首页
  • 来宾城乡建设局网站世界500强企业排名
  • 淮安做网站建设的网络公司如何编写网站后台程序
  • h5开网站开发教程公司宣传片视频制作
  • 广州网站制作开发公司免费视频网站app使用排名
  • 长春网站建设公司哪个好付网站建设服务费什么科目
  • php与网站建设如何开发微信小程序
  • 淘宝网站是怎么做的吗医疗网站建设行情
  • 网站设计文稿做网站都需要买什么问题
  • 网站推广费用ihanshi企业宣传网页设计
  • 网站建设开标书网络营销的好处和优势
  • 关于协会网站建设的几点思考济宁网页
  • 若羌县铁路一建设网站夸克浏览器入口
  • 嘉兴网站建设定制wordpress+轻量级主题
  • 如何在12366网站上做实名认证爱山东app二维码
  • 做竞品分析的网站网站开发常去的论坛
  • 公司网站建设的策划方案广东建设厅证件查询网站
  • 中国水土保持与生态环境建设网站网站建设哪家公司便宜
  • 海棠网站注册中国最新军事新闻头条今天
  • 租用网站服务器网站开发做账
  • 贵阳学校网站建设网站开发信息