index.js 1.0 KB

1234567891011121314151617181920212223242526272829
  1. import JSONWorker from 'url:monaco-editor/esm/vs/language/json/json.worker.js';
  2. import CSSWorker from 'url:monaco-editor/esm/vs/language/css/css.worker.js';
  3. import HTMLWorker from 'url:monaco-editor/esm/vs/language/html/html.worker.js';
  4. import TSWorker from 'url:monaco-editor/esm/vs/language/typescript/ts.worker.js';
  5. import EditorWorker from 'url:monaco-editor/esm/vs/editor/editor.worker.js';
  6. import * as monaco from 'monaco-editor/esm/vs/editor/editor.main.js';
  7. self.MonacoEnvironment = {
  8. getWorkerUrl: function (moduleId, label) {
  9. if (label === 'json') {
  10. return JSONWorker;
  11. }
  12. if (label === 'css' || label === 'scss' || label === 'less') {
  13. return CSSWorker;
  14. }
  15. if (label === 'html' || label === 'handlebars' || label === 'razor') {
  16. return HTMLWorker;
  17. }
  18. if (label === 'typescript' || label === 'javascript') {
  19. return TSWorker;
  20. }
  21. return EditorWorker;
  22. }
  23. };
  24. monaco.editor.create(document.getElementById('container'), {
  25. value: ['function x() {', '\tconsole.log("Hello world!");', '}'].join('\n'),
  26. language: 'javascript'
  27. });