NodeJS mit SailsJS: Config Variablen in der Applikation verwenden

0
Blog is deprecated - Neu blog.nevercodealone.de
NodeJS MVC SailsJS Duisburg Logo

NodeJS MVC SailsJS Duisburg Logo

Config vars in SailsJS verwenden
Ohne Selector

module.exports.stages = {
sProjectName: 'projectName',
sAuthorName: 'authorName',
  aLanguages: [‚de‘,’en‘,’fr‘]
};

Mit Selector
module.exports.stages = {
sProjectName: ‚projectName‘,
sAuthorName: ‚authorName‘,
aLanguages: [‚de‘,’en‘,’fr‘]
};

Zugriff auf config Vars bei SailsJS
In einem View


<%= sails.config.stages.sProjectName %>
<%= sails.config.aLanguages[0] %>

In einem Service oder Model

var conf = sails.config;
callback(null, conf.sAuthorName);

In einem Controller

// api/controllers/TestifyController.js
module.exports = {
index: function (req, res) {
return res.json({
sProjectName: sails.config.stages.sProjectName,
sAuthorName: sails.config.sProjectName,
});
}
};

Grundsätzlich werden alle Dateien aus dem config-Folder in der SailsJS Applikation geladen. Und sind dadurch auch alle verfügbar. Das ist echt praktisch. Es bietet sich an hier Serverkonfigurationen, wie Datenbank Verbindungen und Folder, in einer local.js zu definieren und Applikations Konstanten, wie z.B. Sprachen, in eine appconfig.js auszulagern. Man kann zusätzlich einen Selector einfügen, davon rate ich allerdings ab. Kommt man von der PHP Programmierung, fällt einem ein NodeJS MVC Framework, wie SailsJS, schwer. Ein Controller z.B. besitzt keine eigenen Protected oder Public Vars, die einem in den einzelnen Methoden zur Verfügung stehen. Deshalb muß man in jeder Methode einzeln auf die Config Vars zugreifen und übrigens auch alle Libraries jedes mal neu laden. Und auch sonst wird einem viel begegnen, daß man sich lange abgewöhnt hat. Da kann ich auch nur sagen „Be like water my friend“

Weiterführende Links zum SailsJS Dokumentation
http://sailsjs.org/#!documentation

About Author

PHP Kurs und Inhouse Schulungen für Webdevelopment mit Continuous Integration - Clean Coder, Blogger, Autor, Dozent und Senior Webdeveloper www.rolandgolla.de

Leave A Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.