What is Nuxt.js?
Who uses Nuxt.js?
Here are some stack decisions, common use cases and reviews by companies and developers who chose Nuxt.js in their tech stack.
For our internal team and collaboration panel we use Nuxt.js (with TypeScript that is transpiled into ES6), Webpack and npm. We enjoy the opinionated nature of Nuxt.js over vanilla Vue.js, as we would end up using all of the components Nuxt.js incorporates anyways and we can adhere to the conventions setup by the Nuxt.js project, which allows us to get better support in case we run into any dead ends. Webpack allows us to create reproducable builds and also debug our application with hot reloads, which greately increased the pace at which we are able to perform and test changes. We also incorporated a lot of testing (ESLint, Chai, Jasmine, Nightwatchjs) into our pipelines and can trigger those jobs through GitLab CI. All packages are fetched through npm, so that we can keep our git repositories slim and are notified of new updates aswell as reported security flaws.
I want to build a documentation tool - functionally equivalent to MkDocs. The initial choice ought to be VuePress - but I know of at least one respectable developer who started with VuePress and switched to Nuxt.js. A rich set of "themes" is a plus and all documents ought to be in Markdown.
Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:
- Vue Styleguidist as our style guide and pool of developed Vue.js components
- Vuetify as Material Component Framework (for fast app development)
- TypeScript as programming language
- Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
- ESLint, TSLint and Prettier for coding style and code analyzes
- Jest as testing framework
- Google Fonts and Font Awesome for typography and icon toolkit
- NativeScript-Vue for mobile development
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:
- Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
- Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
- Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
- Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
- Large scaling. Vue.js can help to develop pretty large reusable templates.
- Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
I'm planning to make a web app with browser games that would be a Progressive Web App. I decided to use Vue.js as the front framework and Firebase to store basic information about users. Then I found out about Nuxt.js and I figured it could be really handy for making the project as PWA.
So my questions are:
Any help would be appreciated!
I would like some advice on what you would suggest for a website showing products & services. Max, about 100 products. No eCommerce features are required at the moment. I will also add a search feature and a couple of forms.
I already use Storyblok CMS for the content side of things. One thing that worries me about choosing the build is I ideally don't want the public API key visible, just to prevent any future abuse. I understand if I use the build module in Nuxt.js for storybook, the API key is visible in $nuxt in the console.
- Automatic transpilation and bundling
- Hot module replacement
- Server-side rendering OR Single Page App OR Static Generated, you choose 🔥
- Static file serving
- Configurable with a nuxt.config.js file
- Custom layouts with the layouts/ directory
- Code splitting for every pages