API / NodeAtlas comme module npm

Vous pouvez lancez NodeAtlas via du code JavaScript.

<node-atlas-instance>.init()

Exécuté un simple lancement de NodeAtlas avec init(). Par défaut il cherchera le webconfig.json dans le dossier où le script est exécuté. Si aucun webconfig.json n'est trouvé, un Simple Serveur Web sera lancé.

server.js

require("node-atlas")().init();
\> node server.js

<node-atlas-instance>.config(Object)

Vous pouvez également configurer le lancement avec config(Object) :

server.js

require("node-atlas")().config({
    directory: "/path/to/your/website/directory/",
    webconfig: "webconfig.alternatif.json",
    browse: true,
    httpHostname: "192.168.1.1",
    httpPort: 7778,
    generate: true
}).init();
\> node server.js

<node-atlas-instance>.run(Object)

Avec run(Object) vous pouvez configurer et lancer NodeAtlas en une commande.

Vous pouvez par exemple lancer plusieurs sites en une fois. Bien entendu, chaque webconfig écoutera un port différent.

servers.js

var nodeAtlas = require("node-atlas"),
    websiteEn = new nodeAtlas(),
    websiteFr = new nodeAtlas();

websiteEn.run({
    "browse": true,
    "webconfig": "webconfig.english.json"
});
websiteFr.run({
    "browse": true,
    "webconfig": "webconfig.french.json"
});

<node-atlas-instance>.started(Function)

Avec started(Function), vous pouvez aussi exécuter d'autres tâches après que le serveur web soit lancé :

servers.js

require("node-atlas")().started(function() {
    console.log("Server started!");
}).run({
    browse: true
});

<node-atlas-instance>.generated(Function)

Avec generated(Function), vous pouvez aussi exécuter d'autres tâches après la génération de vos assets :

servers.js

require("node-atlas")().generated(function() {
    require('child_process').exec(__dirname + "/documentation.bat", function (err, stdout, stderr) {
        console.log("Documentation generation...");
        console.log(stdout);
        console.log("Documentation generation done!");
    });
}).run({
    generate: true
});

<node-atlas-instance>.created(Function)

Avec created(Function), vous pouvez aussi exécuter d'autres tâches après avoir initialisé le répertoire courant avec un site template :

servers.js

var nodeAtlas = require("node-atlas"),
    website = nodeAtlas();

website.config({
    "init": true
}).created(function() {
    website.run({
        "browse": true
    });
}).init();