monaco-editor

访客4年前黑客文章1165

Momonaco-editor是微软提供的代码编辑器,vscode即是使用它作为编辑器。它的开发语言是ts,可以嵌入到浏览器中。


安装

npm install monaco-editor复制代码

引用

本人写Vue + Webpack 较多,以此为例:

之一种写法: 使用  monaco-editor-webpack-plugin

// .vue 对应的 script剧本中
import * as monaco from 'monaco-editor';

monaco.editor.create(document.getElementById('container'), {
  value: [
    'function x() {',
    '\tconsole.log("Hello world!");',
    '}'
  ].join('\n'),
  language: 'javascript'
});
// 在 webpack.base.conf.js 中
// 需要安装 monaco-editor-webpack-plugin

const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const path = require('path');
module.exports = {
  ...
  plugins: [
    new MonacoWebpackPlugin()
  ]
};

第二种写法:

// .vue 对应的 script剧本中

import * as monaco from 'monaco-editor';

// Since packaging is done by you, you need
// to instruct the editor how you named the
// bundles that contain the web workers.
self.MonacoEnvironment = {
  getWorkerUrl: function (moduleId, label) {
    if (label === 'json') {
      return './json.worker.bundle.js';
    }
    if (label === 'css') {
      return './css.worker.bundle.js';
    }
    if (label === 'html') {
      return './html.worker.bundle.js';
    }
    if (label === 'typescript' || label === 'javascript') {
      return './ts.worker.bundle.js';
    }
    return './editor.worker.bundle.js';
  }
}

monaco.editor.create(document.getElementById('container'), {
  value: [
    'function x() {',
    '\tconsole.log("Hello world!");',
    '}'
  ].join('\n'),
  language: 'javascript'
});
// 在 webpack.base.conf.js 中
// 不需要安装任何剧本const path = require('path');

module.exports = {
  entry: {
    "app": './index.js',
    // Package each language's worker and give these filenames in `getWorkerUrl`
    "editor.worker": 'monaco-editor/e *** /vs/editor/editor.worker.js',
    "json.worker": 'monaco-editor/e *** /vs/language/json/json.worker',
    "css.worker": 'monaco-editor/e *** /vs/language/css/css.worker',
    "html.worker": 'monaco-editor/e *** /vs/language/html/html.worker',
    "ts.worker": 'monaco-editor/e *** /vs/language/typescript/ts.worker',
  },
  ...
};
返回列表

上一篇:RemoveBG

下一篇:progress.js

相关文章

温哥华有什么大学(温哥华大学排名一览)

温哥华有什么大学(温哥华大学排名一览)

加拿大温哥华有哪些大学? 第一:英属哥伦比亚大学 英属哥伦比亚大学(University of British Columbia,UBC大学),公立大学,位于温哥华市。 第二:维多利亚大学 立...

沧州黑客刺青(沧州黑客七彩纹身)

沧州黑客刺青(沧州黑客七彩纹身)

本文导读目录: 1、请问下瑞典版的《龙纹身的女孩》16岁海莉的扮演者叫什么名字 演过什么电影? 2、黑客刺青怎么样 3、跪求笑话!!!(急) 4、皇家刺青恶搞了哪些电影 5、偏门职业有...

微信软文怎么做?(微信朋友圈软文该怎么写)

微信软文怎么做?(微信朋友圈软文该怎么写) 软文追求的是一种春风化雨、润物无声的传播效果。如果说硬广告是外家的少林功夫;那么,软文则是绵里藏针、以柔克刚的武当拳法,软硬兼施、内外兼修。软文营销才是最...

海鲜不能和什么一起吃,吃海鲜禁忌吃什么东西

海鲜不能和什么一起吃,吃海鲜禁忌吃什么东西

海鲜不能和什么一起吃,吃海鲜禁忌吃什么东西,海鲜的营养价值 海鲜和其他肉类一样,富含蛋白质、B族维生素、多种矿物质。不过,我国的膳食指南中建议的鱼类消费量是要多于畜禽肉类的。 这主要是考虑...

怎么查老婆老公和别人的开房记录-高效 怎样才能查询别人的酒店开房记录-高效

网络黑客:我操纵了你的电脑上 新手:如何操纵的? 网络黑客:用木马病毒 新手:。。。。。。在哪儿?我没看不到 网络黑客:开启你的资源管理器 新手:。。。。。。。资源管理器在哪儿? 网络黑客:。。。。。...

单向好友查询软件(单向好友查询手机版安卓ios)

相信很多人都遇到过这种情况 想给某个人发消息却发现自己已经被删除了,着实尴尬 那么怎么知道别人有没有删了自己呢?小编根据自己的经验整理出了以下几种方法,以供参考: 1.“我在清理僵尸粉,勿回”...