主机模式文件与Ace Editor分开

时间:2013-07-06 22:18:38

标签: 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>

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

1 个答案:

答案 0 :(得分:2)

使用

require("ace/config").set("modePath", require.toUrl("ace/mode"))

如果ext-*和其他文件位于同一文件夹中,则可以.set("basePath", ..)代替