In this tutorial, we are going to dockerize our laravel application. We will keep things very simple, and we can use the final product as a drop-in solution for any laravel project.
Name.vue file in src/pages is a static route.[param].vue file in src/pages is a dynamic route.Gridsome generates static html that hydrates into a Vue SPA once loaded in the browser. This means you can build both static websites & dynamic apps with Gridsome. It's perfect for your JAMstack workflow.
Gridsome builds one .html file and one .json file for every page. After first page load it only uses the .json files to prefetch and load data for the next pages. It also builds a .js bundle for each page that needs it (code splitting).
It uses vue-router for SPA routing, and vue-meta for managing <head>.
Gridsome adds a 57kB min gzip JS bundle size by default.(vue.js, vue-router, vue-meta and some for image lazy loading).
Learn more about how it works.
You should have basic knowledge about HTML, CSS, Vue.js and how to use the Terminal. Knowing how GraphQL works is a plus, but not required. Gridsome is a great way to learn it.
Gridsome requires Node.js (v8.3+) and recommends Yarn.
yarn global add @gridsome/clinpm install --global @gridsome/cligridsome create my-gridsome-site to create a new project cd my-gridsome-site to open foldergridsome develop to start local dev server at http://localhost:8080.vue components in the /pages directory to create page routes.gridsome build to generate static files in a /dist folderVuePress. Another static site generator for Vue.js. It uses local markdown files for content and is perfect for documentation sites. It is possible to build anything in VuePress and Markdown (Like a blog f.ex).
Nuxt. A Universal Vue.js Framework for server-side rendered (SSR) apps and websites. It also has a static site generator feature, but the main focus is SSR.
Gatsby.js Gridsome is highly inspired by Gatsby.js (React.js based), which collects data sources and generates a static site from it. Gridsome is an alternative for Gatsby.js.