uniapp中使用ace在网页上做代码编辑器

boyanx5个月前技术教程21

A、安装

npm install ace-builds

B、在uniapp中使用

<template>
	<view class="content">
	   <div id="editor">ssss</div>
	   <button v-on:click="bb">格式</button>
	   <button v-on:click="aa">压缩</button>
	</view>
</template>

<script>
	 import ace from 'ace-builds/src-noconflict/ace';
   import 'ace-builds/src-noconflict/mode-javascript';
	 import 'ace-builds/src-noconflict/mode-golang';
	 import 'ace-builds/src-noconflict/mode-json';
	 import 'ace-builds/src-noconflict/mode-html';
    import 'ace-builds/src-noconflict/theme-monokai';
	 import 'ace-builds/src-noconflict/theme-dracula';
   import 'ace-builds/src-noconflict/ext-language_tools';
	 import 'ace-builds/src-noconflict/ext-beautify';
	export default {
		data() {
			return {
				title: 'Hello'
			}
		},
		  mounted() {
		    this.initEditor();
		  },
		onLoad() {

		},
		methods: {
			initEditor() {
				    const editor = ace.edit('editor'); // 初始化Ace Editor
             //editor.setTheme("ace/theme/dracula");
				    editor.setTheme("ace/theme/monokai");    //主题
					  editor.session.setMode("ace/mode/json"); //语言类型
				    //editor.session.setMode("ace/mode/golang");
				    //editor.session.setMode("ace/mode/javascript");
				    editor.setValue('{}'); // 设置初始代码值
			},
			bb(){
				const editor = ace.edit('editor'); // 初始化Ace Editor
				editor.session.setMode("ace/mode/json");
				var code =editor.getValue();				
				JSON.stringify(JSON.parse(code), null, 2)
				editor.setValue(JSON.stringify(JSON.parse(code), null, 2));
			},
			aa(){
				const editor = ace.edit('editor'); // 初始化Ace Editor
				editor.session.setMode("ace/mode/json");
				var code =editor.getValue();
				let ss = JSON.stringify(JSON.parse(code))
				editor.setValue(ss);
			}
		}
	}
</script>
<style>
  #editor { width: 100%; height: 700px; font-size: 14px;line-height: 20px;}
</style>

注意点:使用主题和模型一定要对应引用

如:使用editor.setTheme("ace/theme/dracula") 就需要引用 import '
ace-builds/src-noconflict/theme-dracula'

C、演示效果


相关文章

Github 21k star,这个JS组件让你的数据表格秒杀Excel!

在Web应用开发的战场上,数据表格一直是一个让开发者既爱又恨的领域。一方面,几乎所有企业级应用都离不开它;另一方面,构建一个既美观又功能完备的数据表格,往往需要耗费大量时间和精力。更不用说用户总是会说...

全网最全的 Windows 系统下 Node.js 安装与配置

各位代码江湖的 “萌新大侠” 们!今天详细介绍 windows 下 node.js 的安装与配置,看这篇文章就够了。一、下载安装官网下载:下载 | Node.js 中文网选择需要下载的版本,这是之前的...

JavaScript 中文周刊 #196 -(javascript中文网)

本期看点:你对 JavaScript 日期了解多少?来试试这个测验吧,Next.js v15.4 发布并预告 v16 新特性,2025 年如何创建一个 NPM 包,WebAssembly 应用场景讨...

安卓最有名的网页编辑器(安卓网页设计工具)

安卓平台上有几款较为知名的网页编辑器,如Quoda、DroidEdit等,它们凭借丰富的功能和良好的用户体验受到广泛关注,以下是具体介绍 :- Quoda:是一款强大的免费多语言代码编辑器,支持HTM...

面向未来的富文本编辑器,支持 AI、MCP,开源免费!

在现代前端开发中,富文本编辑器早已不只是输入文字的工具。它是内容创作、结构表达和用户交互的核心入口。今天,我们来介绍一款面向未来的编辑器框架——Plate.js。Plate.js 是什么?Plate....

五个流行的SVG在线编辑器(svg 在线编辑器)

随着响应网络的发展,越来越多的高质量的SVG在线编辑器被公众所熟知。SVG矢量图形也越来越受欢迎,以便在任何设备上呈现图像,甚至一些易于使用的SVG在线编辑器,可以替代PS,本文总结了五种流行的SVG...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。