Je travaille sur une application NPM/Redux (appelons ça Client
) empaquetée avec browserify et je cherche maintenant à la déployer .Configurer et déployer browserify build (dist) avec git, npm (browserify/watchify) et les rails
Bien que le codage, que j'utilise
watchify
regarder en continu les modifications et reconstruire l'application; Bien sûr, cette sortie n'est pas minimisée et inclut le débogage et la carte source dans le fichier groupé javascript.Pour cette raison, mon
/dist/js/client.js
était, jusqu'à présent, inclus dans mon dossier.gitignore
, mais pas dans.npmignore
depuis/dist/*
ont besoin pour être dans le paquet final.
Client
est en fait un ensemble de NPM être utilisé dans un autre non-NPM (rails
) application qui repose sur la construction du javascript final. Chaque fois que je déploie mon application rails
, elle exécute npm install, récupère client
et doit utiliser sa version.
Deux options:
1) un script
postinstall
surclient
, en cours d'exécution en faitnpm run build
- Pro: Ce serait formidable, et éviter de commettre la construction
- Con: Nécessite browserify , babel, node-sass etc., qui sont
devDependencies
et donc non inclus dans l'environnement finalproduction
(build
échoue, et je ne veux pas ajouter ce paquet commedependency
, il ne me fait pas sens.
2) réellement commis l'Construisons ensemble avec le client
- Pro: Il fonctionne
- Con: C'est assez ennuyeux car à chaque fois en mode dev, en cours d'exécution watchify, le fichier de construction est d'être remplacé, ce qui pourrait entraîner par inadvertance une version dev non modifiée de
Client
et est également très ennuyeux du point de vue git (il y a toujours des changements non validés dans la branche, cela crée des conflits avec d'autres développeurs, etc.). - J'ai essayé de
.gitignore
le fichier etgit add --force
en même temps, de sorte que je pourrais avoir un manuscritpublish
de manuscrit, mais git ne semble pas l'aimer.
Quelle est la bonne façon d'aborder ce sujet?
Merci!