使用 monaco-editor-nls 汉化 右键菜单汉化部分失败原因

首先使用npm或者其他包管理工具安装依赖插件:

bash 复制代码
npm install monaco-editor --save
npm install monaco-editor-nls --save
npm install monaco-editor-webpack-plugin --save
npm install monaco-editor-esm-webpack-plugin --save-dev

如果右键菜单汉化一部分失败,首先去项目下看node_modules/monaco-editor-nls/locale/zh-hans中搜vs/editor/contrib/format/看一下是否有路径有brower字段,再去对应的node_modules/monaco-editor/esm/vs/editor/contrib/format/formatActions看是否有brower文件夹

  1. 如果有:那么安装monaco-editor-nls最新版本
  2. 没有:安装monaco-editor-nls2.0版本
bash 复制代码
npm install monaco-editor-nls@^2.0.0 --save


webpack.config.js 添加配置:

javascript 复制代码
const MonacoWebpackPlugin = require('monaco-editor-esm-webpack-plugin');
 
module.exports = {
	configureWebpack: {
		module: {
			rules: [{
				test: /\.js/,
				enforce: 'pre',
				include: /node_modules[\\\/]monaco-editor[\\\/]esm/,
				use: MonacoWebpackPlugin.loader
			}]
		},
		plugins: [
			new MonacoWebpackPlugin()
		]
	}
}

此处需要引入monaco-editor-esm-webpack-plugin,引入monaco-editor-webpack-plugin无法汉化成功 设置语言包

javascript 复制代码
// 汉化 monaco
import { setLocaleData } from "monaco-editor-nls"
import zh_CN from "monaco-editor-nls/locale/zh-hans.json"
setLocaleData(zh_CN)
//先汉化语言,再加载monaco才能汉化成功,使用import方式无法汉化
//需要使用require方式引入monaco-editor
//import * as monaco from 'monaco-editor' 
const monaco = require("monaco-editor/esm/vs/editor/editor.api"); 
// import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
import languages from "./language";
相关推荐
刘发财21 分钟前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
ssshooter7 小时前
看完就懂 useSyncExternalStore
前端·javascript·react.js
Live000008 小时前
在鸿蒙中使用 Repeat 渲染嵌套列表,修改内层列表的一个元素,页面不会更新
前端·javascript·react native
柳杉9 小时前
使用Ai从零开发智慧水利态势感知大屏(开源)
前端·javascript·数据可视化
球球pick小樱花9 小时前
游戏官网前端工具库:海内外案例解析
前端·javascript·css
喝水的长颈鹿9 小时前
【大白话前端 02】网页从解析到绘制的全流程
前端·javascript
用户14536981458789 小时前
VersionCheck.js - 让前端版本更新变得简单优雅
前端·javascript
codingWhat9 小时前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js
码路飞9 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
Lee川9 小时前
优雅进化的JavaScript:从ES6+新特性看现代前端开发范式
javascript·面试