Vue.js Meta Framework to create complex, fast & universal web application quickly.
- 📘 Documentation: https://nuxtjs.org
- 🎬 Video: 1 minute demo
- 🐦 Twitter: @nuxt_js
- 👥 Nuxt.js Community
- 📦 Nuxt.js Modules
- 👉 Play with Nuxt.js online
- Automatic transpilation and bundling (with webpack and babel)
- Hot code reloading
- Server-side rendering OR Single Page App OR Static Generated, you choose 🔥
- Static file serving.
./static/is mapped to/ - Configurable with a
nuxt.config.jsfile - Custom layouts with the
layouts/directory - Middleware
- Code splitting for every
pages/
Learn more at nuxtjs.org.
Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]
Support us with a monthly donation and help us continue our activities. [Become a backer]
$ npm install nuxt --save
Add a script to your package.json like this:
{
"scripts": {
"start": "nuxt"
}
}After that, the file-system is the main API. Every .vue file becomes a route that gets automatically processed and rendered.
Populate ./pages/index.vue inside your project:
<template><h1>Hello {{ name }}!</h1></template><script>exportdefault{data: ()=>{return{name: 'world'}}}</script>And then run:
npm startGo to http://localhost:3000
👉 We recommend to start directly with our cli create-nuxt-app for the latest updates.
Or you can start by using one of our starter templates:
- starter: Basic Nuxt.js project template
- express: Nuxt.js + Express
- koa: Nuxt.js + Koa
- adonuxt: Nuxt.js + AdonisJS
- micro: Nuxt.js + Micro
- nuxtent: Nuxt.js + Nuxtent module for content heavy sites
const{ Nuxt, Builder }=require('nuxt')// Import and set nuxt.js optionsletconfig=require('./nuxt.config.js')config.dev=(process.env.NODE_ENV!=='production')letnuxt=newNuxt(config)// Start build process (only in development)if(config.dev){newBuilder(nuxt).build()}// You can use nuxt.render(req, res) or nuxt.renderRoute(route, context)Learn more: https://nuxtjs.org/api/nuxt
You might want to use your own server with you configurations, your API and everything awesome your created with. That's why you can use nuxt.js as a middleware. It's recommended to use it at the end of your middleware since it will handle the rendering of your web application and won't call next().
app.use(nuxt.render)Learn more: https://nuxtjs.org/api/nuxt-render
This is mostly used for nuxt generate and test purposes but you might find another utility!
nuxt.renderRoute('/about',context).then(function({ html, error }){// You can check error to know if your app displayed the error page for this route// Useful to set the correct status code if an error appended:if(error){returnres.status(error.statusCode||500).send(html)}res.send(html)}).catch(function(error){// And error appended while rendering the route})Learn more: https://nuxtjs.org/api/nuxt-render-route
Please take a look at https://nuxtjs.org/examples or directly in https://github.com/nuxt/nuxt.js/tree/dev/examples.
To deploy, instead of running nuxt, you probably want to build ahead of time. Therefore, building and starting are separate commands:
nuxt build
nuxt startFor example, to deploy with now a package.json like follows is recommended:
{
"name": "my-app",
"dependencies": {
"nuxt": "latest"
},
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start"
}
}Then run now and enjoy!
Note: we recommend putting .nuxt in .npmignore or .gitignore.
| Sebastien Chopin | Alexandre Chopin | Pooya Parsa | Clark Du |
|---|---|---|---|
Thank you to all our contributors!
Please see our CONTRIBUTING.md
