vue2项目 monaco-editor 使用心得

目录

1. 使用vue-monaco-editor 是否必要?

2. 直接使用monaco-editor遇到的问题

2.1 编译报错

2.2 missing class properties transform

2.3  this.getOptions is not a function


1. 使用vue-monaco-editor 是否必要?

在vue项目使用monaco-editor作为代码编辑器,并不是一定要通过vue-monaco-editor

原因有以下几点:

1. vue-monaco-editor 没有license

2. vue-monaco-editor 已经不再被维护

3. vue-monaco-editor内部使用loader.js引入monaco-editor,需要配置正确的srcPath才可以正确使用,并且受限于monaco-editor的版本,不能灵活的变化

2. 直接使用monaco-editor遇到的问题

2.1 编译报错

运行yarn add monaco-editor之后,在项目引用该包,出现编译报错:

ERROR Failed to compile with 2 errors
error in ./node_modules/monaco-editor/esm/vs/language/html/monaco.contribution.js

Module parse failed: Unexpected token (130:11)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

 解决方法:降低monaco-editor和monaco-editor-webpack-plugin的版本

修改之前:

packageversion
monaco-editor0.34.1
monaco-editor-webpack-plugin7.0.0

修改之后:

packageversion
monaco-editor0.30.1
monaco-editor-webpack-plugin6.0.0

参考了github issues的答案

2.2 missing class properties transform

Failed to compile with 2 errors

in ./src/utils/vim/cm_adapter.js
Syntaxe error: SyntaxError: C:\Users\Xiayidan.alimu\Desktop\code\luoshu\xalpha-web\src\utils\vim\cm_adapter.js:Missing class properties transform.

export default class CMAdapter {

    static Pos = Pos;
    static signal = signal;
    static on = dummy("on");
    static off = dummy("off");
}

解决办法:

模仿monaco-vim项目的babel.config.js文件的配置,添加transform-class-properties插件

 

解决办法:

安装babel-plugin-transform-class-properties@6.24.1

2.3  this.getOptions is not a function

原因:

在安装了less-loader之后出现,原因是less-loader版本过高

解决:

降低版本

yarn add less-loader@5.0.0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值