En esta guía, aprenderá cómo implementar un proyecto SvelteKit SSR en AWS Amplify. Pasará por el proceso de configuración de un nuevo proyecto SvelteKit, habilitará la representación del lado del servidor mediante el adaptador de AWS Amplify y, finalmente, lo implementará en AWS Amplify.
Tabla de contenido
- [Requisitos previos](#requisitos previos)
- Crear una nueva aplicación SvelteKit
- Comenzando con el adaptador Nodejs para SvelteKit
- Implementar en AWS Amplify
- Conclusión
Requisitos previos
Necesitará lo siguiente:
Crea una nueva aplicación SvelteKit
Comencemos creando un nuevo proyecto SvelteKit. Abra su terminal y ejecute el siguiente comando:
npm create svelte
es la forma recomendada de desarrollar rápidamente un proyecto SvelteKit
Cuando se le solicite, elija:
Aplicación de demostración SvelteKit
cuando se le solicita que seleccione la plantilla de la aplicaciónSí, usando la sintaxis de TypeScript
cuando se le solicite agregar verificación de tipo con TypeScriptAgregar Prettier para formatear código
cuando se le solicite seleccionar opciones adicionales
Una vez hecho esto, puede ir al directorio del proyecto, instalar las dependencias e iniciar la aplicación:
La aplicación debería estar ejecutándose en localhost:5173
A continuación, en su primera ventana de terminal, ejecute el siguiente comando para instalar las bibliotecas y paquetes necesarios para crear la aplicación:
Las bibliotecas instaladas incluyen:
dotenv
: una biblioteca para manejar variables de entorno@vercel/nft
: una biblioteca para determinar todos los archivos necesarios para el tiempo de ejecución de la aplicación utilizando puntos de entrada
Las bibliotecas específicas de desarrollo incluyen:
prepend-file
: una biblioteca para anteponer datos a un archivo
Primeros pasos con el adaptador Nodejs para SvelteKit
Antes de implementar su proyecto SvelteKit, necesita instalar el adaptador @sveltejs/adapter-node
. Ejecute el siguiente comando en la ventana de su terminal:
Las bibliotecas instaladas incluyen:
@sveltejs/adapter-node
: un adaptador que prepara los sitios web de SvelteKit para ejecutarlos como un servidor Nodejs independiente.
Una vez que el adaptador esté instalado, deberá agregarlo a su archivo svelteconfigjs
. Abra el archivo y agregue el siguiente código:
Las adiciones hacen lo siguiente:
- Importa la exportación predeterminada de
@sveltejs/adapter-node
- Utiliza la importación anterior como “adaptador” de su aplicación SvelteKit
Luego, cree un archivo amplifymjs
en la raíz del repositorio con el siguiente código:
Luego, cree un archivo amplifyyml
en la raíz del repositorio con el siguiente código:
El código anterior hace lo siguiente:
- Utiliza comandos
preBuild
para instalar las dependencias de su proyecto SvelteKit - Utiliza comandos
build
para:- Almacene todas las variables de entorno en el archivo
env
en la raíz del proyecto - Construye tu aplicación SvelteKit
- Mueva el directorio
node_modules
y el archivoenv
al directorio de cálculo de Amplify
- Almacene todas las variables de entorno en el archivo
Implementar en AWS Amplify
El código ahora está listo para implementarse en AWS Amplify. Utilice los siguientes pasos para implementarlo:
-
Comience creando un repositorio de GitHub que contenga el código de su aplicación.
-
Luego, navegue hasta el panel de AWS Amplify y haga clic en Comenzar en la sección Alojar su aplicación web
- Selecciona GitHub como fuente de tu repositorio Git.
- Vincula el nuevo proyecto al repositorio de GitHub que acabas de crear.
- Asigne un nombre a su proyecto y haga clic en Configuración avanzada
- En Configuración avanzada, actualice las Variables de entorno para que coincidan con las de su archivo
env
local yPORT
como 3000. Haga clic en Siguiente para continuar.
- Haga clic en Guardar e implementar para implementar su sitio web.
- Obtenga la URL de implementación bajo el título Dominio en la información de compilación exitosa.
Conclusión
¡Hurra! Ahora tiene un proyecto SvelteKit que se implementa automáticamente en AWS Amplify tras la inserción de Git.
Si tiene alguna pregunta o comentario, no dude en comunicarse conmigo en Twitter