forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			67 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  |  | ||
|  | 
 | ||
|  | # Haxe Node.JS
 | ||
|  | 
 | ||
|  | [](https://travis-ci.org/HaxeFoundation/hxnodejs) | ||
|  | [](https://lib.haxe.org/p/hxnodejs) | ||
|  | [](https://lib.haxe.org/p/hxnodejs) | ||
|  | [](LICENSE.md) | ||
|  | 
 | ||
|  | Extern type definitions for Node.JS. Haxe **3.4** or newer is required. | ||
|  | 
 | ||
|  | Haxe-generated API documentation is available at http://haxefoundation.github.io/hxnodejs/js/Node.html. | ||
|  | 
 | ||
|  | Original node.js documentation can be found at http://nodejs.org/api/index.html. | ||
|  | 
 | ||
|  | ## Features
 | ||
|  | 
 | ||
|  |  - Full node.js API with documentation. | ||
|  |  - Strict typing for everything, fully leveraging Haxe type system. | ||
|  |  - Optionally typed event listeners. | ||
|  |  - Automatic insert of "require" statements for used modules. | ||
|  |  - Clean output. | ||
|  | 
 | ||
|  | ## Quick example
 | ||
|  | 
 | ||
|  | 1. Install hxnodejs with `haxelib install hxnodejs` (released version) or `haxelib git hxnodejs https://github.com/HaxeFoundation/hxnodejs` (latest from GitHub). | ||
|  | 2. Write some code and save to `Main.hx`: | ||
|  | 
 | ||
|  |     ```haxe | ||
|  |     class Main { | ||
|  |         static function main() { | ||
|  |             var server = js.node.Net.createServer(function(socket) { | ||
|  |                 socket.write("Echo server\n\n"); | ||
|  |                 socket.pipe(socket); | ||
|  |             }); | ||
|  |             server.listen(1337, "127.0.0.1"); | ||
|  |         } | ||
|  |     } | ||
|  |     ``` | ||
|  | 
 | ||
|  | 3. Compile it with with `haxe -lib hxnodejs -main Main -js main.js` (optionally add `-D js-es=6` for cleaner JavaScript output, since node.js is ES6-compliant) | ||
|  | 4. Look at generated `main.js`: | ||
|  | 
 | ||
|  |     ```js | ||
|  |     // Generated by Haxe 4.0.0-rc.2+63144f6db | ||
|  |     (function ($global) { "use strict"; | ||
|  |     class Main { | ||
|  |         static main() { | ||
|  |             var server = js_node_Net.createServer(function(socket) { | ||
|  |                 socket.write("Echo server\n\n"); | ||
|  |                 socket.pipe(socket); | ||
|  |             }); | ||
|  |             server.listen(1337,"127.0.0.1"); | ||
|  |         } | ||
|  |     } | ||
|  |     var js_node_Net = require("net"); | ||
|  |     Main.main(); | ||
|  |     })({}); | ||
|  |     ``` | ||
|  | 
 | ||
|  | 5. You're awesome! (See more [examples](examples)) | ||
|  | 
 | ||
|  | ## Status
 | ||
|  | 
 | ||
|  | This library is considered complete, but testing and contributions are welcome. See [current issues](https://github.com/HaxeFoundation/hxnodejs/issues) and [extern guidelines](https://github.com/HaxeFoundation/hxnodejs/blob/master/HOWTO.md). | ||
|  | 
 |