web-dev-qa-db-fra.com

Comment lire un fichier de propriétés en javascript depuis le répertoire du projet?

Je construis une application packagée Chrome. Je veux mettre la configuration du script si un fichier de configuration dans un répertoire de ressources et au démarrage veulent le lire en Javascript.

Par exemple

  • Projet
    • Contenu Web
      • index.html
      • manifest.json
      • main.js
      • ressource
        • config.properties

Ici, je veux que main.js charge le fichier config.properties au début et obtienne des paires clé-valeur.

Quelqu'un a-t-il fait quelque chose comme ça?

8
D.S

Il existe un moyen très simple de procéder, basé sur la réponse de sowbug, mais ne nécessitant aucune lecture de fichier XHR ni.

Étape 1 . Créez la ressource/config.js comme suit:

gOptions = {
  // This can have nested stuff, arrays, etc.
  color: 'red',
  size: 'big',
  enabled: true,
  count: 5
}

Étape 2 . Incluez ce fichier dans votre index.html:

<!doctype html>
<head>
  <script src="resource/config.js"></script>
  ...

Étape 3 . Accédez à vos options directement depuis votre main.js (ou n’importe où):

  ...
  if (gOptions.enabled) {
    for (var i = 0; i < gOptions.count; i++) {
      console.log(gOptions.color);
    }
  }
  ...
29
Ben Wells

Vous pouvez utiliser messageResource.js , une simple bibliothèque javascript créée par moi pour charger le fichier de propriétés.

1) Incluez messageResource.js dans votre index.html.

<script src="messageResource.min.js"></script>    

2) Vous pouvez obtenir des paires clé-valeur de config.properties de main.js en utilisant le code suivant.

// initialize messageResource.js  
messageResource.init({
  // path to directory containing config.properties
  filePath : 'resource'
});

// load config.properties file
messageResource.load('config', function(){ 
  // load file callback 

  // get value corresponding  to a key from config.properties  
  var value = messageResource.get('key', 'config');
}); 
5
Khan

Structurez le fichier en tant que JSON. Lisez-le dans une chaîne à l'aide de l'API de fichier ou de XHR. Puis JSON.parse (chaîne).

0
sowbug