Import Haxe modules in node.js script

Using node.js and Haxe, is there a way to write a function that generates the node.js modules from the Haxe file and then returns the generated module? I started writing node.js modules using Haxe, and I need a way to import the modules more easily.

function requireHaxe(variableToRequire, haxeFileLocation){ //generate a JavaScript module from the Haxe file, and then return the generated JavaScript module } 
+4
source share
1 answer

Consider this

 //Haxenode.hx class Haxenode { @:expose("hello") public static function hello(){ return "hello"; } } 

@:expose("hello") part is to put something in module.exports .

Now run

 haxe -js haxenode.js -dce no Haxenode 

Now you can use haxenode.js in nodejs

 var haxenode = require('./haxenode.js'); var hello = haxenode.hello; 

So this taken together is the answer to your question:

 var cp = require('child_process'); function requireHaxe(haxeClassPath,cb){ //generate a JavaScript module from the Haxe file, and then return the generated JavaScript module cp.exec('haxe -js haxenode.js -dce no ' + haxeClassPath,function(err){ if (err){ cb(err); return; } cb(null,require('./haxenode.js')); }); } 

Note that the output file name is a stub.

But do not do this - it is better to compile haxe as a build step (with all the necessary compilation options), and then use regular require at run time.

+5
source

All Articles