主机模式文件与Ace Editor分开

Vla*_*kov 5 ace-editor

我想将ACE Editor与桌面应用程序捆绑在一起,并在WebView中进行渲染.Ace正在从file:///协议运行.有没有办法单独托管模式文件ace.js?例如,ace.js将位于应用程序包内/Application/MyApp.app/...,但模式文件位于~/Library/Application Support/MyApp/ace/modes.

我从测试项目开始,并拥有以下代码

<script type="text/javascript">
    var require = {
        baseUrl: window.location.protocol + "//" + window.location.host
                + window.location.pathname.split("/").slice(0, -1).join("/"),
        paths: {
            "ace/mode": "/Users/user/ace-build",
        }
    };
</script>
<script type="text/javascript" src="require.js"></script>
<script type="text/javascript" src="ace/ace.js"></script>
<script type="text/javascript">
    require(["ace/ace"], function(ace){
        var editor = ace.edit("editor-container");
        editor.getSession().setUseWorker(false);
        editor.setTheme("ace/theme/xcode");
        editor.getSession().setMode("ace/mode/javascript");
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我希望该模块ace/mode/javascript将从中加载/Users/user/ace-build/javascript但从中加载ace/mode-javascript.js.如何从不同的位置加载模式?

a u*_*ser 2

使用

require("ace/config").set("modePath", require.toUrl("ace/mode"))
Run Code Online (Sandbox Code Playgroud)

如果ext-*和其他文件位于同一文件夹中,您可以.set("basePath", ..)这样做