Acceda a la variable de entorno en package.json

Para acceder a una variable de entorno en los scripts npm, haría algo como esto en su package.json :

 "scripts": { "preinstall": "echo ${npm_package_name}" } 

El problema es que solo funciona en Unix, no en Windows, donde tiene que usar %npm_package_name% .

¿Hay una manera de hacer este sistema operativo independiente? Será bueno si npm podría realizar una expansión de este tipo antes de invocar el comando.

Para hacerlo multiplataforma, use cross-var :

 "scripts": { "preinstall": "cross-var echo ${npm_package_name}" } 

No hay forma conocida de hacer esto que sea independiente del sistema operativo.

Una buena solución es ejecutar el comando dentro de un script de nodo:

Primero, cambie el comando de preinstall para ejecutar un script de nodo:

 "scripts": { "preinstall": "node nameEcho.js" } 

Luego define el comando en el archivo nameEcho.js :

 // require the package.json file var pjson = require('./package.json'); // echo the package's name console.log(pjson.name); 
    Intereting Posts