5

我想将 ACE Editor 与桌面应用程序捆绑并在 WebView 中呈现它。Ace 正在按照file:///协议运行。有没有办法单独托管 Mode 文件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. 如何使模式从不同的位置加载?

4

1 回答 1

2

采用

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

如果ext-*和其他文件在同一个文件夹中,您可以.set("basePath", ..)改为

于 2013-07-07T04:36:53.337 回答