Réponses:
Ne pas utiliser require('./package.json')
pour un processus de surveillance. L'utilisation require
résoudra le module comme les résultats de la première requête. Donc, si vous modifiez votre package.json, ces modifications ne fonctionneront que si vous arrêtez votre processus de surveillance et le redémarrez. Pour un processus de surveillance gulp, il serait préférable d'utiliser la méthode de bitlinguist car il relira le fichier et l'analysera chaque fois que votre tâche est exécutée.
var fs = require('fs');
var json = JSON.parse(fs.readFileSync('./package.json'));
require
et de supprimer le cache avecdelete require.cache[require.resolve(FILEPATH)];
Ce n'est pas spécifique à gulp.
var p = require('./package.json')
p.homepage
METTRE À JOUR:
Sachez que "require" mettra en cache les résultats de lecture - ce qui signifie que vous ne pouvez pas exiger, écrire dans le fichier, puis exiger à nouveau et attendre que les résultats soient mis à jour.
C'est une bonne solution @Mangled Deutz. J'ai moi-même d'abord fait ça mais ça n'a pas marché (Revenons à ça dans une seconde), puis j'ai essayé cette solution:
# Gulpfile.coffee
requireJSON = (file) ->
fs = require "fs"
JSON.parse fs.readFileSync file
Maintenant, vous devriez voir que c'est un peu verbeux (même si cela a fonctionné). require('./package.json')
est la meilleure solution:
-n'oubliez pas d'ajouter «./» devant le nom du fichier. Je sais que c'est simple, mais c'est la différence entre la méthode requise qui fonctionne et qui ne fonctionne pas.
Si vous déclenchez gulp depuis NPM, comme utiliser " npm run build " ou quelque chose
(Cela ne fonctionne que pour les déclencheurs d'exécution gulp par NPM)
objet process.env.npm_package_
cela doit être séparé par un trait de soulignement pour les objets plus profonds.
si vous voulez lire une configuration spécifique dans package.json comme vous voulez lire l'objet de configuration que vous avez créé dans package.json
scripts : {
build: gulp
},
config : {
isClient: false.
}
alors vous pouvez utiliser
process.env.npm_package_**config_isClient**