Comme vous l'avez probablement remarqué, Scotty.js n'est plus actif. Travailler sur Scotty.js était amusant, mais AWS a publié AWS Amplify entre-temps et des outils tels que Scotty.js ne sont plus nécessaires. Veuillez jeter un œil à la console AWS Amplify. C'est un excellent outil pour héberger des sites Web statiques et des applications d'une seule page.
Déployez des sites Web ou des dossiers statiques sur AWS S3 avec une seule commande
Scotty.js est disponible sur NPM. Installez-le en tant que dépendance globale pour pouvoir utiliser la commande scotty
n'importe où :
npm installer scottyjs --global
Téléporte-moi, Scotty
Pour déployer un dossier statique sur AWS S3, exécutez :
Scott {options}
ou
téléportez-moi {options}
--help ou -h - Imprimer cette aide
--version ou -v - Imprimer la version actuelle
--noclipboard ou -n - Ne copie pas l'URL dans le presse-papiers (par défaut : false)
--quiet ou -q - Supprime la sortie lors de l'exécution de commandes (par défaut : false)
--website ou -w - Définir le dossier téléchargé comme site Web statique (par défaut : false)
--spa - Définir le dossier téléchargé comme une application à page unique (par défaut : false)
--source ou -s - Source du dossier qui sera téléchargé (par défaut : dossier actuel)
--bucket ou -b - Nom du bucket S3 (par défaut : nom du dossier actuel)
--prefix ou -p - Préfixe sur le bucket S3 (par défaut : la racine du bucket)
--region ou -r - Région AWS où les fichiers seront téléchargés, par défaut : région enregistrée si elle existe ou une liste pour en choisir une si elle n'est pas encore enregistrée
--force ou -f - Mettre à jour le bucket sans demander (par défaut : false, la région forcée peut être remplacée par -r )
--update ou -u - Mettre à jour le bucket existant (par défaut : false)
--delete ou -d - Supprimer le bucket existant (par défaut : false)
--nocdn ou -c - Désactiver la gestion Cloudfront (par défaut : false)
--urlonly ou -o - Afficher uniquement l'URL, le CDN ou le S3 résultant selon les options (par défaut : false)
--expire ou -e - supprime les objets du bucket datant de plus de n jours (par défaut : pas d'expiration)
--profile ou -a - Profil AWS à utiliser (par défaut : 'default')
--empty ou -y - Vider le bucket (supprimer tous les objets avant de télécharger les fichiers) (par défaut : false)
Tutoriel complet : http://medium.com/@slobodan/single-command-deployment-for-single-page-apps-29941d62ef97
Pour déployer des applications CRA, exécutez simplement npm run build
dans le dossier racine de votre projet pour créer une version de build.
Déployez ensuite la version de build à l'aide de la commande suivante :
scotty --spa --source ./build
Ou, si vous souhaitez spécifier le nom du bucket, exécutez :
scotty --spa --source ./build --bucket un nom-de-bucket
Avec l'indicateur --spa
, Scotty définira les redirections requises pour votre application à page unique, afin que votre application puisse utiliser pushState dès le départ.
Pour déployer plusieurs applications dans un seul compartiment, vous pouvez utiliser l'option --prefix
. Cela s'avère pratique lorsque votre système CI se déploie sur un système intermédiaire avec chaque branche comme nom de chemin. Par exemple. la branche master
doit aller à la racine du bucket ( /
), vous ne définissez donc pas le préfixe. La branche feature/fancy-stuff
doit accéder au chemin du compartiment feature/fancy-stuff
, alors ajoutez simplement ceci comme préfixe. Voici un exemple de ligne de commande :
# déployez votre build de branche principale sur le bucketrootscotty --source ./build --bucket some-bucket-name# déployez votre build de branche sur le nom de branche sur le bucketscotty --source_ ./build --bucket some-bucket-name - -préfixez votre/succursale
Nous utilisons Jasmine pour les tests unitaires et d'intégration. À moins qu'il n'y ait une raison très impérieuse d'utiliser quelque chose de différent, continuez à utiliser Jasmine pour les tests. Les tests existants se trouvent dans le dossier spec. Voici quelques raccourcis de commandes utiles :
Exécutez tous les tests :
test npm
Exécutez uniquement quelques tests :
test npm -- filtre = préfixe
Obtenez des rapports hiérarchiques détaillés sur les noms de tests :
test npm -- complet
MIT -- voir LICENCE