Ace代码编辑器:缓存模式对象
Ace Code Editor : Caching mode object
我有一个web应用程序,我必须在多个地方显示ace编辑器。因此,我有一个通用的例程,用给定的根元素(咖啡中的代码)加载ace编辑器
editor = window.ace.edit(root)
editor.setTheme("ace/theme/github")
editor.getSession().setMode("ace/mode/json")
我遇到的问题是,每次设置模式时,都会从服务器获取json工作程序。设置模式似乎启动了网络工作者,而网络工作者必须从url中获取代码。
我尝试缓存模式的实例并进行设置,但这似乎根本不会改变行为。
有没有办法让worker js加载一次,然后在以后的使用中重用它,而不从服务器重新加载它?
这是不可能的,因为每个会话都会创建自己的工作者。在主线程中以文本形式加载worker的源代码,并使用它来创建blob对象,这将比在worker中多次加载它更麻烦,性能也更低。如果您只关心网络获取,请尝试为该文件设置正确的缓存头。如果所有编辑器只需要一个工作者,则必须修改ace。您可以使用github创建功能或拉取请求。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- Mongoose TypeError:实例化模式类型的对象时,对象不是函数
- 从联合js rect对象调用引导模式
- 堆和工厂模式中的本地对象
- ES6 const,用于在JavaScript中创建对象原型;这是一种模式吗
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- 如何在javascript对象中设置属性的类型,就像mongoose模式设计一样
- Mongoose模式:强制创建一个对象数组
- 解释主干对象和类创建模式
- 包含 2 个或更多对象的页面上的 JavaScript 设计模式
- Ace代码编辑器:缓存模式对象
- 如何通过向用户推送模式引用来更新用户对象's数组字段
- 对象绑定模式的rest属性应该是最后一个
- 如何将javascript数组更改为角度模式形式的JSON对象
- JS:两个或多个非严格模式下具有相同名称的对象属性
- 如何在不选择模式配置参数的情况下,使用mongoose在MongoDB模式实例化中的关联数组/对象中执行foreach
- Knockout:为许多数据对象绑定模板引导模式
- 揭示模块模式:对象未定义
- 我如何存储数据使用这种模式-对象内对象内对象或对象内对象内数组
- 向现有模块化模式对象添加新方法