Pas une question spécifique à un groupe, mais comment obtenir des informations à partir du fichier package.json dans le fichier gulpfile.js; Par exemple, je veux obtenir la page d'accueil ou le nom et l'utiliser dans une tâche.
N'utilisez pas require('./package.json')
pour un processus de surveillance. Utiliser require
résoudra le module en tant que résultat 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 en creux, il serait préférable d'utiliser la méthode de bitlinguist, qui relira le fichier et l'analysera à chaque fois que votre tâche sera exécutée.
var fs = require('fs');
var json = JSON.parse(fs.readFileSync('./package.json'));
Ce n'est pas gulp spécifique.
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 en demander, écrivez dans le fichier, puis recommencez et attendez-vous à une mise à jour des résultats.
C'est une bonne solution @Mangled Deutz. J'ai moi-même d'abord fait cela, mais cela n'a pas fonctionné (retour à cela 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:
-remember pour ajouter './' devant le nom du fichier. Je sais que c'est simple, mais c'est la différence entre la méthode d'exigence qui fonctionne et celle qui ne fonctionne pas.
Si vous déclenchez une rafale de NPM, utilisez " npm run build " ou quelque chose comme ça.
(Cela ne fonctionne que pour les déclenchements de gulp par NPM)
process.env.npm_package _Object
ceci devrait être séparé par un tiret bas 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**