123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Hello World!</title>
- </head>
- <body>
- <h1>Hello World!</h1>
- <div id="container" style="width:500px;height:300px;border:1px solid #ccc"></div>
- </body>
- <script>
- // Monaco uses a custom amd loader that over-rides node's require.
- // Keep a reference to node's require so we can restore it after executing the amd loader file.
- var nodeRequire = global.require;
- </script>
- <script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
- <script>
- // Save Monaco's amd require and restore Node's require
- var amdRequire = global.require;
- global.require = nodeRequire;
- </script>
- <script>
- // require node modules before loader.js comes in
- var path = require('path');
- function uriFromPath(_path) {
- var pathName = path.resolve(_path).replace(/\\/g, '/');
- if (pathName.length > 0 && pathName.charAt(0) !== '/') {
- pathName = '/' + pathName;
- }
- return encodeURI('file://' + pathName);
- }
- amdRequire.config({
- baseUrl: uriFromPath(path.join(__dirname, '../node_modules/monaco-editor/min'))
- });
- // workaround monaco-css not understanding the environment
- self.module = undefined;
- // workaround monaco-typescript not understanding the environment
- self.process.browser = true;
- amdRequire(['vs/editor/editor.main'], function() {
- var editor = monaco.editor.create(document.getElementById('container'), {
- value: [
- 'function x() {',
- '\tconsole.log("Hello world!");',
- '}'
- ].join('\n'),
- language: 'javascript'
- });
- });
- </script>
- </html>
|