index.html 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>browser-amd-editor</title>
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  6. <style>
  7. /* We must define the font face outside the shadowroot */
  8. @font-face {
  9. font-family: 'codicon';
  10. src: url('../node_modules/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf')
  11. format('truetype');
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <h2>Monaco Editor Sample</h2>
  17. <div id="container" style="width: 800px; height: 600px; border: 1px solid grey"></div>
  18. <!-- OR ANY OTHER AMD LOADER HERE INSTEAD OF loader.js -->
  19. <script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
  20. <script>
  21. require.config({
  22. paths: { vs: '../node_modules/monaco-editor/min/vs' },
  23. 'vs/css': { disabled: true }
  24. });
  25. const container = document.getElementById('container');
  26. const shadowRoot = container.attachShadow({
  27. mode: 'closed'
  28. });
  29. const innerContainer = document.createElement('div');
  30. shadowRoot.appendChild(innerContainer);
  31. innerContainer.style.width = '800px';
  32. innerContainer.style.height = '600px';
  33. const innerStyle = document.createElement('style');
  34. innerStyle.innerText =
  35. '@import "../node_modules/monaco-editor/min/vs/editor/editor.main.css";';
  36. shadowRoot.appendChild(innerStyle);
  37. require(['vs/editor/editor.main'], function () {
  38. const editor = monaco.editor.create(innerContainer, {
  39. value: ['function x() {', '\tconsole.log("Hello world!");', '}'].join('\n'),
  40. language: 'javascript'
  41. });
  42. });
  43. </script>
  44. </body>
  45. </html>