Comment puis-je écrire plusieurs lignes de scripts dans les mnp scripts?
Mon colis.json se présente comme suit:
{
"name": "project",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"lint": "./node_modules/eslint/bin/eslint.js --format \"./node_modules/eslint-friendly-formatter/index.js\" .",
"build:server": "./node_modules/babel-cli/bin/babel.js . -d dist/server --ignore node_modules,dist,client,public,webpack*"
}
}
Comme vous pouvez le voir, le lint
et build:server
de commande sont difficiles à lire, je tiens donc à les casser en plusieurs lignes.
J'ai essayé d'utiliser \
, mais il jette les erreurs comme:
npm ERR! Failed to parse json
npm ERR! Unexpected token ' ' at 11:80
npm ERR! :server": "./node_modules/babel-cli/bin/babel.js . -d dist/server \
npm ERR! ^
Comment puis-je faire cela?
Seulement d'écrire un autre fichier bash comme build.sh
et de l'utiliser dans mnp scripts comme ./build.sh server
?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire.
Le code suivant est à
read-json.js
qui est dans le paquetnode_modules/npm/node_modules/read-package-json
qui est utilisé dansrun-script.js
pour exécuter$ npm run-script ~~
ou$ npm run ~~
qui est son alias.La
key
dansscriptpath_
est comme"build:server"
dans votre code.La
this[key]
est comme"./node_modules/babel-cli/bin/babel.js . -d dist/server --ignore node_modules,dist,client,public,webpack*"
dans votre code.Ainsi, si vous écrivez le code qui n'est pas
string
type, en d'autres termes, si vous n'écrivez pas lestring
texte danspackage.json
, ce sera une erreur, sauf si vous contribuer à l'emballagenpm/read-package-json
.Vous pouvez enchaîner des tâches indépendantes.
Voici un exemple:
Voici un joli blog que j'ai utilisé à l'époque:
https://www.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
&
au lieu de&&
. Les anciens moyens pour exécuter le script en arrière-plan, ce qui signifie qu'ils exécutent en parallèle et leurs résultats sont mélangés ensemble. Ce dernier signifierait pour exécuter le suivant commande uniquement si le courant commande quitte sans un code d'erreur.npm run lint
fonctionne très bien (testé une fois).