Ace editor "define is not defined"

Stinky picture Stinky · Jun 4, 2012 · Viewed 21.4k times · Source

I'm trying to add the ace editor to my app. I downloaded it from github, dropped the "ace/lib/ace" directory into my app's directory, included:

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

in my body tag and:

editor = ace.edit "editor"

in my script tag. I've tried to load the page in Chrome and Firefox and I get "define is not defined" in ace.js:46. The line in ace.js is:

define(function(require, exports, module) {

Does anyone know why ace is expecting the define() function to exist and why it's not finding it? Here's my source:

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

Answer

Shaurav Garg picture Shaurav Garg · Aug 12, 2012

If you already have the source, then it is pretty easy to do still. Just go in the directory where you copied all the ace source.

Then, do:

npm install
node Makefile.dryice.js

See the wiki for additional details https://github.com/ajaxorg/ace/wiki/Building-ace