003. Helper de conexión a API REST

En este capítulo vamos a continuar con la estructura del proyecto que comenzamos a crear en el capítulo anterior. Vamos a desarrollar algunos componentes y auxiliares que nos servirán a lo largo del curso, y también agregar estilos. Recordemos que el esquema que habíamos creado era el siguiente:

Esquema

  • spa
    • index.html
    • app
      • App.js
      • index.js
      • assets
        • favicon.png
        • loader.svg
        • style.css
      • components
      • helpers

Vamos a trabajar en el archivo style.css, que va a tener la siguiente sintaxis.

/* Reseteo de estilos */
html {
  box-sizing: border-box;
  font-family: sans-serif;
  font-size: 16px;
}

*,
*::after,
*::before {
  box-sizing: inherit;
}

body {
  margin: 0;
  overflow-x: hidden;
}

a {
  color: #01579b;
  transition: color 0.3s ease;
}

a:hover {
  color: #00b00f;
}

h1 {
  text-align: center;
}

img {
  max-width: 100%;
  height: auto;
}

En este capítulo trabajaremos dentro de la carpeta helpers. Para este proyecto tendremos dos helpers, vamos a crear un archivo llamado wp-api.js, el cual guardará todas las variables que nos permiten consultar hacia un dominio de WordPress. En este archivo vamos a crear un objeto con todas las variables que nos van a ayudar a solicitar la información. Va a haber archivos de configuración donde esos datos duros van a estar en este archivo, digamos que es como el archivo de conexión a la API de WordPress.

Veamos la sintaxis del archivo wp-api.js.

const NAME = "sutilweb",
  DOMAIN = `https://${NAME}.eu`,
  SITE = `${DOMAIN}/wp-json/`,
  API_WP = `${SITE}/wp/v2`,
  POSTS = `${API_WP}/posts?_embed`,
  POST = `${API_WP}/posts`,
  SEARCH = `${API_WP}/search?_embed&search=`;

export default {
  NAME
  DOMAIN,
  SITE,
  API_WP,
  POSTS,
  POST,
  SEARCH,
};

Y nos vamos a nuestro archivo App.js, e importamos las constantes que hemos creado, con lo cual la sintaxis quedará de la siguiente manera.

import api from "./helpers/wp-api.js";

export function App() {
  document.getElementById(
    "root"
  ).innerHTML = `<h1>Bienvenidos a mi primer SPA con Vanilla JS</h1>`;
  console.log(api);
}

Archivos

Los archivos los puedes descargar desde el siguiente enlace: