Nos encanta que cada vez que abrimos un archivo index.js podamos ver todo ahí. Es justo lo que hacemos. Puedes crear un archivo separado para eso. No es necesario, depende completamente de ti.
Definitivamente recomiendo crear archivos separados para acciones, getters y mutaciones porque hay mucha lógica detrás de esos métodos. Confiamos en esa lógica, ¿verdad? Y por eso no queremos verla. Solo queremos importarla y tener una visión clara del estado.
Finalmente, necesitamos exportar default.object estableciendo, por supuesto, namespace en true, pasando state, mutations, actions y getters. El proceso es el mismo para todos los modules. Así que no repetiré lo mismo para el módulo de usuario en este momento, porque es literalmente lo mismo.
Lo que necesitamos hacer ahora es actualizar nuestra tienda raíz. Para hacerlo, necesitamos importar el módulo de usuario, importar el módulo de organización, e importar nuestro objeto de módulo con todos los nombres. Luego, vamos a declarar el estado global, las acciones globales, las mutaciones globales y los getters globales. Ten cuidado con ellos porque son accesibles en el espacio de nombres global. Ese es el lugar donde se registrarán. En este momento, están vacíos, pero el proceso es el mismo que con los que tienen espacio de nombres, el proceso para crearlos.
Luego, necesitamos crear la carpeta de modules. Vamos a mapear el módulo de usuario a username y el módulo de organización a organization name que obtenemos de la constante del módulo. Finalmente, necesitamos usar create store de Vuex. Necesitamos exportar el objeto let por defecto con state, actions, mutations, getters, los globales y modules. Y eso es todo. Ahora lo tenemos. Tenemos esa arquitectura limpia, escalable y flexible de la tienda para tu aplicación masiva.
Echemos un vistazo. En la parte superior, tenemos el archivo index.js, nuestra tienda raíz. Esa tienda raíz tiene su propio estado global, acciones, mutaciones y getters. Pero a partir de la segunda capa, esa tienda raíz importa todos los diferentes modules que tienes. En este momento, solo tenemos organización y usuario, pero vas a tener muchos más, créeme. Y luego, todos esos diferentes tipos de modules desde la segunda capa, importan sus propias acciones aisladas, getters, mutaciones, estado desde la tercera capa. En este momento en Orbital Witness, no tenemos ningún problema con esta arquitectura.
Comments