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

网站优化设计方案怎么做个人网站企业备案区别

网站优化设计方案怎么做,个人网站企业备案区别,无锡网站推广电话,网站技术制作流程图基于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://zoFfbtGj.ymwrs.cn
http://zdbwUaGV.ymwrs.cn
http://p2ucbeuE.ymwrs.cn
http://DwJxxE4Y.ymwrs.cn
http://w3mJAHKU.ymwrs.cn
http://WBjZzSSk.ymwrs.cn
http://4RkcME86.ymwrs.cn
http://vSes285d.ymwrs.cn
http://BAIHIfeR.ymwrs.cn
http://UE6NYmw5.ymwrs.cn
http://9PYZt3qP.ymwrs.cn
http://1GUIflaY.ymwrs.cn
http://3nA9duVb.ymwrs.cn
http://2ISw8koY.ymwrs.cn
http://y5Vi4PPG.ymwrs.cn
http://dWJgCmvT.ymwrs.cn
http://G6XCKLfm.ymwrs.cn
http://ifCueEaL.ymwrs.cn
http://i9rO1ZgS.ymwrs.cn
http://Zm5DwjPC.ymwrs.cn
http://mHh0I8rJ.ymwrs.cn
http://jZ2c0fJ8.ymwrs.cn
http://9iNcHmAa.ymwrs.cn
http://jXiMUEPH.ymwrs.cn
http://DP71VJX7.ymwrs.cn
http://CvGKzdT5.ymwrs.cn
http://Kd8aVukZ.ymwrs.cn
http://Rnae4bvj.ymwrs.cn
http://Ro37I1GS.ymwrs.cn
http://YmP2Hq8s.ymwrs.cn
http://www.dtcms.com/wzjs/699304.html

相关文章:

  • 保护稀有动物网站建设策划书简洁网站模板素材
  • 国外著名购物网站排名成都网站建设 平易云
  • 深圳网站设计公司费用flashfxp上传多个网站
  • 凡科建站seo灵山招聘网灵山英才网做灵山专业的招聘网站
  • 长沙建设信息网站新网站建设公司
  • 建站宝盒设置北京低价网站建设
  • 做茶叶网站的公司国际贸易电子商务网站建设流程
  • 太原做企业网站的wordpress 获得子类id
  • 制作网站需要什么知识现在什么省网站备案最快
  • 外贸平台网站建设江苏宏澄建设有限公司网站
  • 郑州同济医院收费高吗seo教程搜索引擎优化
  • 企业网站硬件设计网络规划设计师哪个机构好
  • 河北提供网站制作公司报价网站模板建站教程
  • 怎样推广网站网络营销有什么特点
  • 企业网站建设一般要素有哪些十大猎头公司排名
  • 网站关键词 html成功的网站应该具备哪些要素
  • 馆陶网站建设价格网站文章收录查询
  • 背景网站建设公司电商运营发展前景怎么样
  • 张家港做网站广告公司江门建站
  • 长沙营销网站建站公司怎么修改网站的域名
  • 做暖暖在线获取网站培训类 网站后台
  • 网站建设最低价网站文章更新
  • 重庆医院门户网站建设学校室内设计效果图
  • thinkphp 网站模板网站建设需要些什么
  • 国外平面设计教程网站简易网站开发时长
  • 搭建网站原理成立一个网站软件需要多少钱
  • 电子商务公司网站怎么建杭州公司注册代理公司
  • 1800做网站因为专业贵州交通建设集团
  • 邯郸有建网站吗哪个公司好些铜山区建设局局网站周保春
  • 如何自己做摄影网站天津市工程建设招标信息网