mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 20:52:56 +01:00
Rename to /samples/
This commit is contained in:
parent
c9081ee4f3
commit
091f871e65
85 changed files with 12 additions and 15 deletions
|
|
@ -0,0 +1,4 @@
|
|||
.Editor {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
23
samples/browser-esm-vite-react/src/components/Editor.tsx
Normal file
23
samples/browser-esm-vite-react/src/components/Editor.tsx
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { VFC, useRef, useState, useEffect } from 'react';
|
||||
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
|
||||
import styles from './Editor.module.css';
|
||||
|
||||
export const Editor: VFC = () => {
|
||||
const [editor, setEditor] = useState<monaco.editor.IStandaloneCodeEditor | null>(null);
|
||||
const monacoEl = useRef(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (monacoEl && !editor) {
|
||||
setEditor(
|
||||
monaco.editor.create(monacoEl.current!, {
|
||||
value: ['function x() {', '\tconsole.log("Hello world!");', '}'].join('\n'),
|
||||
language: 'typescript'
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
return () => editor?.dispose();
|
||||
}, [monacoEl.current]);
|
||||
|
||||
return <div className={styles.Editor} ref={monacoEl}></div>;
|
||||
};
|
||||
11
samples/browser-esm-vite-react/src/main.tsx
Normal file
11
samples/browser-esm-vite-react/src/main.tsx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { Editor } from './components/Editor';
|
||||
import './userWorker';
|
||||
|
||||
ReactDOM.render(
|
||||
<React.StrictMode>
|
||||
<Editor />
|
||||
</React.StrictMode>,
|
||||
document.getElementById('root')
|
||||
);
|
||||
27
samples/browser-esm-vite-react/src/userWorker.ts
Normal file
27
samples/browser-esm-vite-react/src/userWorker.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
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';
|
||||
|
||||
// @ts-ignore
|
||||
self.MonacoEnvironment = {
|
||||
getWorker(_: any, label: string) {
|
||||
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();
|
||||
}
|
||||
};
|
||||
|
||||
monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true);
|
||||
1
samples/browser-esm-vite-react/src/vite-env.d.ts
vendored
Normal file
1
samples/browser-esm-vite-react/src/vite-env.d.ts
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/// <reference types="vite/client" />
|
||||
Loading…
Add table
Add a link
Reference in a new issue