Como probablemente habrás notado, Scotty.js ya no está activo. Trabajar en Scotty.js fue divertido, pero AWS lanzó AWS Amplify mientras tanto y herramientas como Scotty.js ya no son necesarias. Eche un vistazo a la consola de AWS Amplify. Es una excelente herramienta para alojar sitios web estáticos y aplicaciones de una sola página.
Implemente carpetas o sitios web estáticos en AWS S3 con un solo comando
Scotty.js está disponible en NPM. Instálelo como una dependencia global para poder usar el comando scotty
en cualquier lugar:
npm instala scottyjs --global
Llévame, Scotty
Para implementar una carpeta estática en AWS S3, ejecute:
escocés {opciones}
o
Transmíteme {opciones}
--help o -h - Imprime esta ayuda
--version o -v - Imprime la versión actual
--noclipboard o -n : no copiar la URL al portapapeles (predeterminado: falso)
--quiet o -q : suprime la salida al ejecutar comandos (predeterminado: falso)
--website o -w : configura la carpeta cargada como un sitio web estático (predeterminado: falso)
--spa : configura la carpeta cargada como una aplicación de una sola página (predeterminado: falso)
--source o -s : origen de la carpeta que se cargará (predeterminado: carpeta actual)
--bucket o -b : nombre del depósito S3 (predeterminado: nombre de la carpeta actual)
--prefix o -p : prefijo en el depósito S3 (predeterminado: la raíz del depósito)
--region o -r : región de AWS donde se cargarán los archivos, predeterminado: región guardada si existe o una lista para elegir una si aún no está guardada
--force o -f : actualiza el depósito sin preguntar (valor predeterminado: falso, la región forzada se puede anular con -r )
--update o -u : actualiza el depósito existente (predeterminado: falso)
--delete o -d : elimina el depósito existente (predeterminado: falso)
--nocdn o -c : deshabilita el manejo de Cloudfront (predeterminado: falso)
--urlonly o -o : solo genera la URL resultante, CDN o S3 según las opciones (predeterminado: falso)
--expire o -e : elimina objetos en el depósito con más de n días (valor predeterminado: sin vencimiento)
--profile o -a : perfil de AWS que se utilizará (predeterminado: 'predeterminado')
--empty o -y : vaciar el depósito (eliminar todos los objetos antes de cargar archivos) (predeterminado: falso)
Tutorial completo: http://medium.com/@slobodan/single-command-deployment-for-single-page-apps-29941d62ef97
Para implementar aplicaciones CRA, simplemente ejecute npm run build
en la carpeta raíz de su proyecto para crear la versión de compilación.
Luego implemente la versión de compilación usando el siguiente comando:
scotty --spa --fuente ./build
O, si desea especificar el nombre del depósito, ejecute:
scotty --spa --source ./build --bucket algún-nombre-de-bucket
Con el indicador --spa
, Scotty establecerá las redirecciones requeridas para su aplicación de una sola página, de modo que su aplicación pueda usar pushState de manera inmediata.
Para implementar varias aplicaciones en un solo depósito, puede utilizar la opción --prefix
. Esto resulta útil cuando su sistema CI se implementa en un sistema provisional con cada rama como nombre de ruta. P.ej. la rama master
debe ir a la raíz del depósito ( /
), por lo que no debe configurar el prefijo. La rama feature/fancy-stuff
debe ir a la feature/fancy-stuff
de la ruta del depósito, así que simplemente agregue esto como prefijo. Aquí viene un ejemplo de línea de comando:
# implementa la compilación de tu rama maestra en el depósito de raícescotty --source ./build --bucket some-bucket-name# implementa la compilación de tu rama en el nombre de la rama en el depósitoscotty --source_ ./build --bucket some-bucket-name - -prefijo tu/sucursal
Usamos Jasmine para pruebas unitarias y de integración. A menos que haya una razón muy convincente para usar algo diferente, continúe usando Jasmine para las pruebas. Las pruebas existentes están en la carpeta de especificaciones. A continuación se muestran algunos atajos de comandos útiles:
Ejecute todas las pruebas:
prueba de NPM
Ejecute solo algunas pruebas:
prueba npm - filtro = prefijo
Obtenga informes jerárquicos detallados sobre los nombres de las pruebas:
prueba npm - completa
MIT - ver LICENCIA