nodebook
nodebook copied to clipboard
"Pratique Accéder aux valeurs du fichier package.json"
Ne fonctionne pas sous Windows:
{
...
"config": {
"port": "4000"
};
"scripts": {
"start": "node server --port $npm_package_config_port",
}
}
D’après ce post https://stackoverflow.com/a/39868894/9370788 + test de mon coté, ceci fonctionne:
{
...
"config": {
"port": "4000"
};
"scripts": {
"start": "node server --port %npm_package_config_port%",
}
}
Mais rend donc le script dépendant de l'OS sur lequel il est exécuté ce qui est gravissime sans autre mention :)
Ah la la, c'est ma faute !
J'aurais dû utiliser le module cross-env
pour garder la notation similaire, et fonctionnelle sur tous les OS.
Si tu l'installes et que tu remplaces l'exemple comme ceci, ça donne quoi ?
{
...
"config": {
"port": "4000"
};
"scripts": {
"start": "cross-env node server --port $npm_package_config_port",
}
}
Merci pour la remontée du problème :-)
Le module cross-env
ne prend pas en charge le problème car il n'est pas conçu pour couvrir l'utilisation spécifique de variables au sein de scripts NPM - ce que stipule la doc (voir section cliquable: "Why don't you use cross-env
?" ) du module cross-var
qui, lui, se porte volontaire à la résolution du problème identifié, ainsi:
{
...
"config": {
"port": "4000"
};
"scripts": {
"start": "cross-var node server --port $npm_package_config_port",
}
}
permet bien de retourner la valeur du port au sein du script sous Windows.
Merci pour ton retour et surtout le livre qui m'accompagne souvent même jusqu'en terrasse café journalier durant cette phase d'immersion avec Node.js que j'affectionne sérieusement ;)
Ah, merci pour cette nuance que je ne connaissais pas (le module cross-var
non plus d'ailleurs) :-)
Je note, je vais clarifier ça.
Merci pour ton retour et surtout le livre qui m'accompagne souvent même jusqu'en terrasse café journalier durant cette phase d'immersion avec Node.js que j'affectionne sérieusement ;)
Génial ! Je suis à l'écoute de tes retours si des passages du livre te parlent moins et gagnerait à être plus clairs, ou plus complets vis à vis de Windows.
Ok ! => #451