2013-07-06 6 views
5

से अलग-अलग होस्ट मोड फ़ाइलें मैं डेस्कटॉप एप्लिकेशन के साथ एसीई संपादक को बंडल करना चाहता हूं और इसे वेबव्यू के अंदर प्रस्तुत करना चाहता हूं। ऐस file:/// प्रोटोकॉल से चल रहा है। ace.js से मोड फ़ाइलों को अलग से होस्ट करने का कोई तरीका है? उदाहरण के लिए ace.js एप्लिकेशन बंडल /Application/MyApp.app/... के अंदर स्थित होगा, लेकिन ~/Library/Application Support/MyApp/ace/modes पर मोड फ़ाइलें।ऐस संपादक

मैं परीक्षण परियोजना के साथ शुरू किया उम्मीद करते हैं कि मॉड्यूल ace/mode/javascript/Users/user/ace-build/javascript से लोड किया जाएगा, लेकिन यह ace/mode-javascript.js से लोड करता है निम्न कोड

<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> 

है। विभिन्न स्थानों से मोड लोड करने के लिए कैसे करें?

उत्तर

2

उपयोग

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

अगर ext-* और अन्य फ़ाइलों को एक ही फ़ोल्डर में हैं आप .set("basePath", ..) बजाय

+0

धन्यवाद बहुत कुछ कर सकते। यह काम करता हैं। एकमात्र चीज मेरे मामले में है, यह शीर्ष-स्तरीय कॉल की आवश्यकता थी, इसलिए मुझे एसिंक संस्करण का उपयोग करना होगा। अंतिम कोड यह http://pastebin.com/eKw2dC1i है –

संबंधित मुद्दे