The vue-block-system library lets you easily create block based websites. It uses the vue-transition-component to handle all component transitions.