Getting started with Haxe for JavaScript


Install Haxe

Download and install the Haxe Compiler.

Install a Haxe-compatible IDE

It is recommended to install one of these to develop your Haxe projects.

Create your project

1. Create a new directory for your Haxe project, with this structure:
├── src/
│   └── Main.hx
├── bin/
│   └── js/
│       └── index.html
└── build.hxml
2. Insert the following code into the src/Main.hx file:
class Main {
  static function main() {
    trace("Haxe is great!");
3. Insert the following code into the bin/js/index.html file:
<!DOCTYPE html>
<html lang="en">
    <meta charset="utf-8">
    <script src="main.js"></script>
4. Add the following build configuration into the build.hxml file:
-cp src
-main Main
-js bin/js/main.js
The configuration above specifies that your source code is stored in src/, that your main Haxe file is src/Main.hx, and that you want Haxe to output the JavaScript source code into bin/js/main.js.

Develop your project

Haxe API

Browse the Haxe API website for the core Haxe APIs that you can use in your project.
You can use JavaScript-specific APIs in addition to the core Haxe APIs.

Haxe libraries

Browse the haxelib website for community-developed libraries that you can add to your project.
You can install haxelib libraries globally by running haxelib install <library>.
You can specify that your project uses a haxelib by adding -lib <library> to the build.hxml file.


Compile and run your project


Build the Haxe project by running haxe build.hxml in a console in the project directory.
This compiles your .hx source code to JavaScript code which you can run and debug next.

Running and debugging

After compiling your project with Haxe, you can open and debug the index.html file in your browser. Open the developer tools in the browser to see log output. If you haven't changed the example from step 3, you should see the 'Haxe is great!' log message.


Ask the community

If you need help with anything, visit the vibrant Haxe community and simply ask for help with the details of your project. We have a helpful and active community and you should get your answers quickly!