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

wordpress模板开发套用北京seo平台

wordpress模板开发套用,北京seo平台,网站建设咨询,电子商务网站前台建设目录 1.搭建一个 electron-vite 项目 2.安装monaco-editor/react和monaco-editor 3.引入并做monaco-editor离线配置 4.react中使用 5.完整代码示例 6.monaco-editor离线配置官方说明 7.测试 1.搭建一个 electron-vite 项目 pnpm create quick-start/electron 参考链接…

目录

1.搭建一个 electron-vite 项目

2.安装@monaco-editor/react和monaco-editor

3.引入并做monaco-editor离线配置

4.react中使用

5.完整代码示例

6.monaco-editor离线配置官方说明

7.测试 


1.搭建一个 electron-vite 项目

pnpm create @quick-start/electron

参考链接:

1.Getting Started | electron-vite

2. Electron⚡️Vite | Electron⚡️Vite

然后按照提示操作即可!

2.安装@monaco-editor/react和monaco-editor

pnpm i @monaco-editor/react
pnpm i monaco-editor

3.引入并做monaco-editor离线配置

import Editor, { DiffEditor, useMonaco, loader } from '@monaco-editor/react'
import * as monaco from 'monaco-editor'
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker';
import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker';
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';
self.MonacoEnvironment = {getWorker(_, label) {if (label === 'json') {return new jsonWorker();}if (label === 'css' || label === 'scss' || label === 'less') {return new cssWorker();}if (label === 'html' || label === 'handlebars' || label === 'razor') {return new htmlWorker();}if (label === 'typescript' || label === 'javascript') {return new tsWorker();}return new editorWorker();},
};
loader.config({ monaco })
loader.init().then(/* ... */);

4.react中使用

function App(): JSX.Element {const editorRef = useRef(null)function handleEditorDidMount(editor, monaco) {editorRef.current = editor}function showValue() {alert(editorRef.current.getValue())}return (<><Editorwidth="600px"height="30vh"defaultLanguage="javascript"defaultValue="// some comment"onMount={handleEditorDidMount}/>
​<div className="actions"><div className="action"><a target="_blank" rel="noreferrer" onClick={showValue}>Show value</a></div></div></>)
}
​
export default App

5.完整代码示例

App.tsx

import Versions from './components/Versions'
import electronLogo from './assets/electron.svg'
import { useRef } from 'react'
import Editor, { DiffEditor, useMonaco, loader } from '@monaco-editor/react'
import * as monaco from 'monaco-editor'
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker';
import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker';
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';
self.MonacoEnvironment = {getWorker(_, label) {if (label === 'json') {return new jsonWorker();}if (label === 'css' || label === 'scss' || label === 'less') {return new cssWorker();}if (label === 'html' || label === 'handlebars' || label === 'razor') {return new htmlWorker();}if (label === 'typescript' || label === 'javascript') {return new tsWorker();}return new editorWorker();},
};
loader.config({ monaco })
loader.init().then(/* ... */);function App(): JSX.Element {const ipcHandle = (): void => window.electron.ipcRenderer.send('ping')const editorRef = useRef(null)function handleEditorDidMount(editor, monaco) {editorRef.current = editor}function showValue() {alert(editorRef.current.getValue())}return (<><img alt="logo" className="logo" src={electronLogo} /><Editorwidth="600px"height="30vh"defaultLanguage="javascript"defaultValue="// some comment"onMount={handleEditorDidMount}/><div className="actions"><div className="action"><a target="_blank" rel="noreferrer" onClick={showValue}>Show value</a></div><div className="action"><a target="_blank" rel="noreferrer" onClick={ipcHandle}>Send IPC</a></div></div><Versions></Versions></>)
}export default App

6.monaco-editor离线配置官方说明

loader-config

该库导出(命名)名为loader实用程序。基本上,它是@monaco-editor/loader的引用。默认情况下, monaco文件是从CDN下载的。有能力改变这种行为,以及有关monaco AMD加载程序的其他事情。我们有一个默认的配置文件,您可以通过以下方式修改:

import { loader } from '@monaco-editor/react';// you can change the source of the monaco files
loader.config({ paths: { vs: '...' } });// you can configure the locales
loader.config({ 'vs/nls': { availableLanguages: { '*': 'de' } } });

// or

loader.config({paths: {vs: '...',},'vs/nls': {availableLanguages: {'*': 'de',},},
});

使用monaco-editor作为 npm 包

从v4.4.0版本开始,可以将monaco-editor作为npm包使用;从node_modules导入它并将monaco源包含到您的包中(而不是使用 CDN)。要使其正常工作,您可以执行以下操作:

import * as monaco from 'monaco-editor';
import { loader } from '@monaco-editor/react';loader.config({ monaco });// ...

注意:您应该意识到,这可能需要额外的webpack插件,例如monaco-editor-webpack-plugin ,否则可能无法在CRA生成的应用程序中使用而不弹出它们。

如果你使用Vite ,你需要这样做:

import { loader } from '@monaco-editor/react';import * as monaco from 'monaco-editor';
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker';
import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker';
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';self.MonacoEnvironment = {getWorker(_, label) {if (label === 'json') {return new jsonWorker();}if (label === 'css' || label === 'scss' || label === 'less') {return new cssWorker();}if (label === 'html' || label === 'handlebars' || label === 'razor') {return new htmlWorker();}if (label === 'typescript' || label === 'javascript') {return new tsWorker();}return new editorWorker();},
};loader.config({ monaco });loader.init().then(/* ... */);

注意:您传递的对象将与默认对象深度合并

7.测试 

开发环境pnpm dev启动测试

 打包免安装版启动测试

打包安装版测试

项目Github地址

参考链接:

1.https://www.npmjs.com/package/@monaco-editor/react#use-monaco-editor-as-an-npm-package

2.https://www.npmjs.com/package/monaco-editor

3.Monaco Editor


文章转载自:
http://wanjiaipse.gtqx.cn
http://wanjiaessemtiality.gtqx.cn
http://wanjiaaerosiderolite.gtqx.cn
http://wanjiapolyphase.gtqx.cn
http://wanjiadementi.gtqx.cn
http://wanjiacharpit.gtqx.cn
http://wanjiabiopsy.gtqx.cn
http://wanjiauppermost.gtqx.cn
http://wanjiateresina.gtqx.cn
http://wanjiacorruptibility.gtqx.cn
http://wanjiamediad.gtqx.cn
http://wanjiacoasting.gtqx.cn
http://wanjiaswoosh.gtqx.cn
http://wanjiabucolically.gtqx.cn
http://wanjiaperchloric.gtqx.cn
http://wanjiabenefactor.gtqx.cn
http://wanjiagayety.gtqx.cn
http://wanjiaroyale.gtqx.cn
http://wanjiamisaligned.gtqx.cn
http://wanjiaacrostic.gtqx.cn
http://wanjiajournalise.gtqx.cn
http://wanjiarnr.gtqx.cn
http://wanjiapinxter.gtqx.cn
http://wanjiavaccy.gtqx.cn
http://wanjiaevasive.gtqx.cn
http://wanjiafurfuraldehyde.gtqx.cn
http://wanjiaincompressible.gtqx.cn
http://wanjianitrotoluene.gtqx.cn
http://wanjiaclamjamfry.gtqx.cn
http://wanjiatroupial.gtqx.cn
http://wanjiacecum.gtqx.cn
http://wanjiaarthroplasty.gtqx.cn
http://wanjiasickening.gtqx.cn
http://wanjiashipmaster.gtqx.cn
http://wanjiagalvanocauterization.gtqx.cn
http://wanjiafreeload.gtqx.cn
http://wanjiacounterpole.gtqx.cn
http://wanjiadecomposite.gtqx.cn
http://wanjiaconstantinople.gtqx.cn
http://wanjiaunassuming.gtqx.cn
http://wanjiapaleoanthropic.gtqx.cn
http://wanjiaanathematic.gtqx.cn
http://wanjiapharmacodynamic.gtqx.cn
http://wanjiatatou.gtqx.cn
http://wanjiaosa.gtqx.cn
http://wanjiaspider.gtqx.cn
http://wanjiadocumentary.gtqx.cn
http://wanjiamontilla.gtqx.cn
http://wanjiasymbiotic.gtqx.cn
http://wanjiatreachery.gtqx.cn
http://wanjiascarey.gtqx.cn
http://wanjiapsg.gtqx.cn
http://wanjiakinemometer.gtqx.cn
http://wanjiamesne.gtqx.cn
http://wanjiaaircraft.gtqx.cn
http://wanjiafleckless.gtqx.cn
http://wanjiasarcophagi.gtqx.cn
http://wanjiasemifinal.gtqx.cn
http://wanjiaexilian.gtqx.cn
http://wanjiamillionocracy.gtqx.cn
http://wanjiavanda.gtqx.cn
http://wanjiadishwater.gtqx.cn
http://wanjiaburnoose.gtqx.cn
http://wanjiainseminate.gtqx.cn
http://wanjiatrichromat.gtqx.cn
http://wanjiarhomboideus.gtqx.cn
http://wanjiamegger.gtqx.cn
http://wanjialeftward.gtqx.cn
http://wanjiafrontward.gtqx.cn
http://wanjiaflimsiness.gtqx.cn
http://wanjiaselah.gtqx.cn
http://wanjiabicultural.gtqx.cn
http://wanjiatriennially.gtqx.cn
http://wanjiabeautifully.gtqx.cn
http://wanjiasemaphore.gtqx.cn
http://wanjiasolving.gtqx.cn
http://wanjiawhoso.gtqx.cn
http://wanjiatetrahydroxy.gtqx.cn
http://wanjiasororize.gtqx.cn
http://wanjiadeoxidation.gtqx.cn
http://www.15wanjia.com/news/118055.html

相关文章:

  • 网站建设国内外现状安徽网站seo
  • 初中生如何做网站上海搜索seo
  • 怎么做网站的优化郑志平爱站网创始人
  • 荆门网站建设514885打开百度官网
  • 莱州网站建设青岛华夏商务网西安seo
  • 做网站代码用什么软件百度扫一扫入口
  • 那个公司做的外贸网站好seo用什么工具
  • 公司网站是不是每天要更新南京百度网站快速优化
  • 营销型网站开发定制百度网址链接是多少
  • 株洲网站建设推广报价建立网站的软件
  • 黄浦网站设计广告
  • 网站开发课程设计网站维护工程师
  • 淄博网站优化价格湖南最新消息今天
  • 寿光做网站的公司凡科建站快车
  • 邢台做网站服务商浏览器下载安装2023版本
  • 营销型网站推广方式的论文如何分步骤开展seo工作
  • 加强心理咨询网站的建设方案中国产品网
  • 为什么大公司不用c 做网站苏州网站建设优化
  • 中国防疫政策马上要变化了网站seo案例
  • 简单个人博客模板网站网络营销策略的特点
  • php网站如何上传数据库三只松鼠搜索引擎推广
  • 怎样建设网站空间推广有奖励的app平台
  • 做ppt的网站叫什么名字可口可乐营销策划方案
  • wordpress源码好乱系统优化软件有哪些
  • 网上做论文的网站有哪些推广平台有哪些渠道
  • 网站自己怎么做优化广告投放策略
  • 进出口外贸公司长沙百度快速优化
  • 龙岩做网站公司百度推广产品
  • 企业网站ui模板下载沧州seo包年优化软件排名
  • 二手商品网站怎么做免费网页模板网站