2013-12-08 42 views
1

我使用這個版本的ACE - 蹦://github.com/ajaxorg/ace.gitACE編輯器+ requirejs + AMD jQuery插件:模式不能加載

而且這是我通過requirejs加載它,

require([ 
    // Load our app module and pass it to our definition function 
    'jquery', 
    'ext/ace-master/lib/ace/ace' 
... 

我該如何喚起編輯器,

var editor = ace.edit("ace-editor"); 
editor.setTheme("ext/ace-master/lib/ace/theme/eclipse"); 
editor.getSession().setMode("ext/ace-master/lib/ace/mode/xml"); 

但我總是收到此錯誤信息,以及語法高亮顯示未在形式突出顯示的任何代碼,

Could not load worker 
ace.js (line 1) 
TypeError: this.$mode.createWorker is not a function 


...ts","module","ace/lib/lang"],function(a,b,c){var d=a("../lib/lang"),e=function()... 


TypeError: a.getTokenizer is not a function 


...ts","module","ace/lib/lang"],function(a,b,c){var d=a("../lib/lang"),e=function()... 

有沒有人遇到過這個問題,並知道如何解決它?

如果我用這個構建版本 - https://github.com/ajaxorg/ace-builds/甚至有更多的錯誤 - 沒有找到文件等

或本http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js - 大量未發現的錯誤!

注:我的方式通過jQuery的AJAX加載形式,是它的AJAX引發錯誤?

回答

2

你miconfigured需要路徑

添加

require.config({paths: { 
    ace: "ext/ace-master/lib/ace" 
}}) 

之前,首先需要 和使用setMode("ace/mode/xml");

看到http://jsbin.com/ojijeb/339/edit的工作版本

1

是的,你的AJAX正在加載你的表格,其餘的Javascript已經完成。

你可以用同樣的函數重新載入你的Javascript,但我不確定會出現什麼樣的衝突,因爲你的代碼並不是真的都在這裏。

我有一個類似的問題,併爲了克服它,我包括了JavaScript的數據,通過我請求的HTML來通過。食物的思想。

+0

感謝。你如何將Javascript包含在數據中?你能舉一些例子嗎?你的意思是把ACE放在表單裏面嗎? – laukok

+1

嗯,我不知道你要做什麼,但在我的情況下,我要求一些HTML文件的一些'div's和whatnot,並且在代碼塊的最後我打了我的''如果您想要查看它是否與您的情況相關,請將其放在我的服務器上http://asims.fleeceitout.com – Deryck

+0

謝謝。它沒有ACE編輯器或任何形式... – laukok