Variables d'environnement NodeJS dans Grunt
je déplace mon projet de simplement node server.js
en utilisant Grunt.
j'avais l'habitude d'exécuter mon application directement à partir de webstorm, et les variables d'environnement étaient configurées pour moi.
Comment puis-je obtenir la même chose en Grunt?
j'ai besoin soit d'exécuter grunt depuis webstorm (windows), soit de configurer env vars lors de l'exécution de grunt (explicitement)
ce n'est pas un problème lors d'un déploiement car heroku s'occupe déjà de régler mes var.
1 réponses
utilisez le plugin grunt-env:https://npmjs.org/package/grunt-env
et définissez votre config:
grunt.initConfig({
env : {
options : {
//Shared Options Hash
},
dev : {
NODE_ENV : 'development',
DEST : 'temp'
}
},
'another-task': {}
});
dans votre gruntfile vous aurez probablement de définir des valeurs par défaut:
grunt.registerTask('default', ['env', 'another-task']);
donc si vous lancez 'grunt default' au début, vos env-vars sont définis, et ensuite 'another-task' est lancé
si vous voulez spécifier l'environnement actuel via l'option en ligne de commande, vous pouvez utiliser grunt.option:
grunt.initConfig({
env : {
options : {
//Shared Options Hash
},
dev : {
NODE_ENV : grunt.option('environment') || 'development',
DEST : 'temp'
}
},
dans cet exemple, si vous appelez votre tâche grunt --environment=production
la production sera définie, sinon le développement sera défini