Y at-il un besoin pour json dans node.js

J’aimerais inclure quelques fichiers JSON dans mon code JavaScript qui se trouvent dans le même répertoire que mon fichier source JavaScript.

Si je voulais inclure un autre fichier JavaScript, je pourrais utiliser simplement require . Maintenant, j’utilise readFileSync et __dirname pour obtenir le JSON, ce qui, à mon avis, est une façon très moche de le faire.

Y a-t-il quelque chose de similaire pour require qui me permet de charger un fichier JSON?

A partir du noeud v0.5.x oui, vous pouvez avoir besoin de votre JSON comme vous auriez besoin d’un fichier js.

var someObject = require('./somefile.json')

En ES6:

import someObject from ('./somefile.json')

Utilisez soit readFile soit readFileSync (ce dernier uniquement au démarrage).

Ou utilisez une bibliothèque existante comme

  • cjson

Vous pouvez également écrire votre configuration dans un fichier js plutôt qu’un fichier json comme

 module.exports = { // json } 

Les fichiers JSON ne requièrent pas de déclaration d’exportation explicite. Vous n’avez pas besoin d’exporter pour l’utiliser comme fichier Javascript.

Donc, vous pouvez utiliser juste require d’un document JSON valide.

data.json

 { "name": "Freddie Mercury" } 

main.js

 var obj = require('data.json'); console.log(obj.name); //Freddie Mercury