Config vars in SailsJS verwenden
Ohne Selector
aLanguages: [‚de‘,’en‘,’fr‘]
module.exports.stages = {
sProjectName: 'projectName',
sAuthorName: 'authorName',
};
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