Comment utiliser le package.json scripts de copie de fichiers avec l'extension de fichier spécifique
J'essaie npm comme un outil de construction.
Une pierre d'achoppement que j'ai rencontrés, c'est que j'ai besoin de copier les fichiers javascript à partir d'un dossier à l'autre. Le dossier source contient des caractères d'imprimerie fichiers, les fichiers javascript et les fichiers de mappage, mais dans le dossier cible, je suis seulement intéressé par les fichiers javascript.
Je ne veux pas faire un copier-déclaration pour chaque fichier, mais souhaitez tout copier .js fichiers. Aussi, ma source dossier contient des sous-dossiers qui contient également les fichiers javascript. Ces le besoin d'être copiés, et de maintenir le sous-dossier de la structure.
Ce que j'ai essayé est à l'aide de PCN avec un filtre, mais je ne peux pas obtenir le filtre à travailler. J'ai testé l'expression régulière utilisée dans le filtre et il semble bien fonctionner. Le test a été fait à Regex Testeur avec expression régulière .*\.js$
et test-comme les chaînes main.ts
, main.js
main.js.map
etc, et seulement le .js chaînes ont été appariés.
Mon colis json contient les éléments suivants (en abrégé):
{
"scripts": {
"copy": "ncp scripts wwwroot/scripts --filter=\".*(\\\\.js$)\""
},
"devDependencies": {
"ncp": "2.0.0.0"
}
}
Depuis mon expression régulière est une chaîne de caractères dans une chaîne, j'ai double-il échappé. J'ai aussi essayé d'autres variantes, par exemple:
--filter=/.*\.js$/g - compilation error
--filter=/.*\\.js$/g - no files copied
--filter=\".*\\.js$\" - no files copied
--filter=\"/.*\\.js$/g\" - no files copied
(no filter) - all files copied
Je suis en aucune façon marié à NCP. Si quelque chose fonctionne mieux alors je vais l'utiliser.
Donc: Comment puis-je, à l'intérieur de paquet.json scripts section copie uniquement les fichiers avec une extension spécifique à un autre dossier? Je suis assez sûr que j'ai oublié quelque chose saute aux yeux...
Vous devez vous connecter pour publier un commentaire.
cpx pourrait être une bonne substitution.
Il dispose d'une interface de ligne de commande vous permet d'utiliser des boules au lieu de regex, peut conserver l'arborescence des répertoires, et il est relativement à jour pendant que j'écris ceci....
Il y a aussi des mnp module appelé
copyfiles
https://github.com/calvinmetcalf/copyfiles
E. g. pour copier tous les
*.css
des fichiers à partir de la./src
dossier à la./styles
dossier:cp -R
? Je suis en utilisantcp -R ./email/templates ./build/email
et juste curieux au sujet de votre solution.Vous pouvez utiliser gulp.js pour cela.
Écrire une gorgée tâche d'isoler uniquement les fichiers js (/chemin/vers/fichiers/*.js) et le déplacer vers la destination de votre choix.
Il ne faut que quelques lignes de code.
L'inclure dans le script de la section de l'emballage.json si nécessaire.
Le lien pour gulp.js : https://gulpjs.com/