Cet article vous présente principalement les informations pertinentes sur l'utilisation des fichiers de configuration dans différents environnements de Node. L'article le présente en détail à travers un exemple de code. Il a une certaine valeur d'apprentissage de référence pour les études ou le travail de tous les amis qui en ont besoin. Étudions ensemble ci-dessous.
Préface
Lors de l'écriture d'un projet complet à l'aide de Node.js, certaines variables configurables sont souvent nécessaires dans le programme, cela permet donc au programme pour fonctionner dans différents environnements.Comme nous le savons tous, dans les projets réels, il y aura plusieurs environnements différents. Dans différents environnements, certaines configurations sont différentes pour améliorer l'efficacité du développement. Pas grand chose à dire ci-dessous, jetons un œil à l’introduction détaillée.
1. module config-lite
Introduisez d'abord un module de configuration config-lite et utilisez la commande npm i config-lite --save pour l'installer.
Habituellement, nous écrirons la configuration dans différents fichiers de configuration pour différents environnements. Créez un nouveau répertoire de configuration sous le projet Node et créez de nouveaux fichiers de configuration pour différents environnements. Ici, j'utilise "développement" et "production" Deux. Les environnements sont utilisés comme exemples pour expliquer comment fonctionner.
Dans l'environnement de développement, nous créons deux nouveaux fichiers dans le répertoire config : test.js et default.js. Vous pouvez vous demander pourquoi il n'y a pas de fichier de configuration de la machine de production, car la configuration de la machine de production doit être dans le répertoire. environnement de production. Créez-le à nouveau.
Écrivez le code suivant dans le fichier de configuration test.js (PS. Voici la configuration de mysql à titre d'exemple) :
// test.js module.exports = { mysql : { host: "localhost", user: "lupeng", password: "080910", database: "b1imd" } };
Écrivez quelques fichiers de configuration par défaut dans default.js. Par exemple, configuration de session, etc.
// default.js module.exports = { mysql : { host: "10.20.141.220", user: "lupeng", password: "123456", database: "b1imd" }, session: { secret: 'keyboard cat', resave: false, saveUninitialized: true, cookie: { maxAge: 1000*60*60 } } };
Bon, le fichier de configuration est écrit, comment l'utiliser ? Ici, nous utilisons le module config-lite. Ce module sélectionne différents fichiers de configuration en fonction de variables d'environnement, donc avant de l'utiliser, nous devons modifier la commande de démarrage dans package.json :
"scripts": { "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www", "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www" },
comme vous pouvez le voir, il y a deux commandes de démarrage ci-dessus, l'une est pour la machine de production, set NODE_ENV=production
, et l'autre est pour la machine de test, set NODE_ENV=test
Lorsque nous utilisons npm test pour démarrer le projet, config-lite récupérera le test. .js et sera fusionné avec la configuration dans default.js. S'il existe les mêmes objets, la configuration dans default.js sera écrasée. Les exemples ci-dessus ont tous des objets MySQL, donc les objets de test.js prévaudront ici.
D'accord, présentons comment utiliser le module config-lite dans le projet. Le code dans app.js est le suivant :
// 省略... var config = require('config-lite')(__dirname); // 省略... app.use(session(config.session)); console.log("mysql服务器:" + config.mysql.host); // display mysql-config // 省略...
Après l'introduction, vous pouvez utiliser directement la configuration. -lite module dans le fichier de configuration.
2. Environnement de production
Alors comment l'utiliser dans un environnement de production ? Les principes de base et l'utilisation de config-lite ont été présentés ci-dessus. Dans l'environnement de production, il suffit de créer un nouveau fichier production.js dans le répertoire de configuration de l'environnement de la machine de production, puis d'utiliser la commande de démarrage npm start.
Afin d'éviter toute confusion entre l'environnement de test et les fichiers de configuration de l'environnement de production, vous pouvez ignorer les fichiers de configuration via le fichier .gitignore, ajoutez ce qui suit :
# config config/* !config/default.*
De cette façon , git ignorera à l'exception des fichiers de configuration default.js, dans l'environnement de développement local, vous pouvez créer plusieurs fichiers de configuration pour les tests et l'utilisation, définissez simplement les variables d'environnement correspondantes. Il convient de noter que le nom de la variable d'environnement doit être le même que le nom du fichier de configuration.
3. Environnement Windows
Peut-être êtes-vous un développeur d'environnement multi-système et pouvez-vous développer simultanément dans des environnements Linux et Windows. Depuis Windows La syntaxe de définition des variables d'environnement est différente, vous pouvez donc ajouter deux phrases à la commande de démarrage package.json, comme suit :
"scripts": { "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www", "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www", "winStart": "SET NODE_ENV=production&&supervisor --harmony -i views/ ./bin/www", "winTest": "SET NODE_ENV=test&&supervisor --harmony -i views/ ./bin/www" }
De cette façon, s'il est déployé dans un environnement Windows, dans le répertoire de configuration Créez un nouveau fichier de configuration production.js et démarrez la commande npm winStart;
S'il est déployé dans un environnement de type Linux ou Unix, créez également production.js et démarrez la commande npm start.
Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.
Articles associés :
Interprétation détaillée de la disposition React Native Flexbox
Quelles sont les méthodes pour les chemins de référence dans les fichiers uniques de vue ?
Détails sur la transformation de webpack.config.js en weex
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!