Gérer les configs de production / dev / testing dans sails.js
Personne ne sait la meilleure façon de gérer prod/dev/test de config de commutation dans les voiles? J'aime vraiment la façon dont actionhero.js charge automatiquement le fichier config/environment/{env}.js basé sur le contenu de NODE_ENV mais je ne vois pas un moyen intégré pour faire quelque chose de similaire dans les voiles. J'ai remarqué que les voiles se charger n'importe quel fichier de config/lors de serveur d'amorçage donc mon hacky solution pour l'instant est de configurer les éléments suivants:
config/
|-- local.js
|-- environment/
|---- production.js
|---- staging.js
|---- development.js
|---- testing.js
Puis dans chaque {env}.fichier js, je viens de prolonger config comme ceci:
if (process.env.NODE_ENV === 'production') {
//Enter any environment specific config changes
config.db = {
db_host: foo,
db_port: bar
}
config.otherThing = {
somevar: 'someval'
}
source d'informationauteur Jason Sims
Vous devez vous connecter pour publier un commentaire.
Depuis Voiles 0.10-rc6-ce que cela a amélioré et vous pouvez maintenant ajouter un
env
sous-dossier dansconfig
pour modifier les paramètres pour les différents environnements.Alors vous pouvez simplement ajouter un fichier
/config/env/development.js
ou/config/env/production.js
qui peuvent remplacer tous les paramètres nécessairesVoir https://github.com/balderdashy/sails/pull/1638 pour plus de détails.
Exemple, pour modifier le port et l'adaptateur de base de données, par exemple pour
production
de l'environnement dans votreproduction.js
:Il suffit d'aller à config/env/production.js & set port et de l'environnement manuellement
Et l'utilisation NODE_ENV
Pour Windows utilisation
set NODE_ENV=production
Pour MAC/Linux utilisent
export NODE_ENV=production
OU
voiles de levage --prod
Je l'ai fait en faisant
config/local.js
besoin d'autres fichiers de configuration en fonction deprocess.env.NODE_ENV
.Dans
config/local.js
Dans
.gitignore
:Cela vous donne:
env
en les définissant dansconfig/environments/{env}.js
sails.config{env}
la tenue de tout votre environnement de configuration, il suffit que votre solution n'{env}
fichiers{env}
fichiers