Respuestas:
No lo use require('./package.json')
para un proceso de vigilancia. El uso require
resolverá el módulo como resultado de la primera solicitud. Entonces, si está editando su package.json, esas ediciones no funcionarán a menos que detenga el proceso de visualización y lo reinicie. Para un proceso de observación de gulp, sería mejor utilizar el método de bitlinguist, ya que volverá a leer el archivo y lo analizará cada vez que se ejecute su tarea.
var fs = require('fs');
var json = JSON.parse(fs.readFileSync('./package.json'));
require
y eliminar el caché condelete require.cache[require.resolve(FILEPATH)];
Esto no es específico de un trago.
var p = require('./package.json')
p.homepage
ACTUALIZAR:
Tenga en cuenta que "require" almacenará en caché los resultados de lectura, lo que significa que no puede solicitar, escribir en el archivo, luego solicitar nuevamente y esperar que los resultados se actualicen.
Esta es una buena solución @Mangled Deutz. Yo mismo hice eso primero pero no funcionó (volviendo a eso en un segundo), luego probé esta solución:
# Gulpfile.coffee
requireJSON = (file) ->
fs = require "fs"
JSON.parse fs.readFileSync file
Ahora debería ver que esto es un poco detallado (aunque funcionó). require('./package.json')
es la mejor solución:
-recuerde agregar './' delante del nombre del archivo. Sé que es simple, pero es la diferencia entre el método requerido que funciona y no funciona.
Si está activando gulp desde NPM, como usar " npm run build " o algo
(Esto solo funciona para los desencadenantes de gulp run por NPM)
process.env.npm_package_ Object
esto debe separarse con un guión bajo para objetos más profundos.
si desea leer alguna configuración específica en package.json como si desea leer el objeto de configuración que ha creado en package.json
scripts : {
build: gulp
},
config : {
isClient: false.
}
entonces puedes usar
process.env.npm_package_**config_isClient**