2012-06-04 10 views
12

benim app ace editor eklemek çalışıyorum "define tanımlı değil". Ben, github indirdiyseniz Uygulamamın dizine "ace/lib/ace" dizini düştü dahil:Ace editör

<script src="ace/lib/ace/ace.js" type="text/javascript" charset="utf-8"></script>" 
bedenim etiketinde

ve:

editor = ace.edit "editor" 

benim komut dosyası etiketindeki. Ben Chrome ve Firefox'ta sayfa yüklemeye denedim ve ace.js içinde "tanımlı değil tanımlamak" olsun: 46.

define(function(require, exports, module) { 

kimse ace var olmaya() işlevi tanımlayın bekliyor neden biliyor mu ve neden bulma değil: ace.js içinde çizgidir?

<html> 
    <body> 
    <div id="editor">some text</div> 
    <script src="ace/lib/ace/ace.js" type="text/javascript" charset="utf-8"></script> 
    <script> 
     var editor = ace.edit("editor"); 
    </script> 
    </body> 
</html> 
+0

Yukarıdaki kod parçasında bir "editör" kimliğine sahip bir div etiketi görüyorum. Yapmıyor musun Benim orijinal sonrası kötü biçimlendirme düzeltmek için güncelleme yaptı, bunu görmüş olabilir. Benim asıl kodumda (yukarıdaki basit örneğe aldırmadan önce) yukarıdaki bağlantılı örnekden stili kopyaladım ve bunu içe aktardım, ancak uygulamayı sadece ace koduna indirdiğimde göründüğüm gibi görünüyor. çok. Örneğimi değiştirmeye çalışacağım ve yakında buradan güncelleyeceğim. – Stinky

+0

Ben aynı sorunu yaşıyorum ... Hiç anladım aldın mı? – orokusaki

+0

Hayır, üzgünüm. Zamanıma değmeyeceğine karar verdim. İyi şanslar. – Stinky

cevap

7

Zaten kaynağına sahip ise, o zaman hala yapmak oldukça kolaydır: İşte benim kaynağıdır. Sadece tüm ace kaynağını kopyaladığınız dizine gidin. Sonra

yapın:

npm install 
node Makefile.dryice.js 

ek ayrıntılar https://github.com/ajaxorg/ace/wiki/Building-ace

+1

Teşekkür ederim. Aslında kodu oluşturmayı unuttum ve yorumunuz bana bunu hatırlattı hatırlattı. Hata. ☺ –

+0

+1 cuz, welp, aynısını yaptım – jakev

4

Bu hatayı alıyorsanız için yazısını okuyun çünkü sayfanıza dahil edilmemiş JavaScript kütüphanesi RequireJS.

Bunu düzeltmek ya bir as yapı kullanma veya sayfanıza RequireJS dahil etmek. Eğer RequireJS eklemeyi seçerseniz

html parçası bu gibi bir şey olacaktır:

<!-- Editor will go here --> 
<div id="editor"></div> 

<!-- Load RequireJS --> 
<script src="lib/requirejs/require.js"></script> 

<!-- Initialize ace --> 
<script> 

    // Tell RequireJS where ace is located 
    require.config({ 
     paths: { 
      'ace': 'lib/ace' 
     } 
    }); 

    // Load the ace module 
    require(['ace/ace'], function(ace) { 
     // Set up the editor 
     var editor = ace.edit('editor'); 
     editor.setTheme('ace/theme/monokai'); 
     editor.getSession().setMode('ace/mode/javascript'); 
     // etc... 
    }); 
</script> 
3

benim DOMload işleyicisinde window.define = ace.define; koyarak hacklendi.