Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3.
Go to file
Pooya Parsa 4f6a048a4b fix(ci): use registry.npmjs.org instead of registry.yarnpkg.com 2018-09-02 13:27:44 +04:30
.circleci refactor: make build suffix dynamically 2018-08-31 20:55:13 +01:00
.github Add repo to CTMY info (#3603) 2018-07-29 17:34:54 +01:00
benchmarks refactor: lint scripts and benchmarks 2018-08-10 15:18:54 +01:00
bin feat: upgrade eslint to 5.x (#3494) 2018-08-31 21:34:12 +01:00
build fix: window nuxt build by using cross-spawn (#3833) 2018-09-01 21:44:57 +01:00
examples feat: upgrade eslint to 5.x (#3494) 2018-08-31 21:34:12 +01:00
lib feat(router): add support for props and alias (#3818) 2018-09-01 09:03:28 +04:30
packages fix(nuxt-start): add missing dependencies (#3832) 2018-09-02 00:57:10 +04:30
test feat: upgrade eslint to 5.x (#3494) 2018-08-31 21:34:12 +01:00
.all-contributorsrc readme: adjust contributor prifile 2018-08-18 13:50:20 +01:00
.babelrc fix: appveyor test failure (#3754) 2018-08-17 22:25:23 +02:00
.editorconfig Add editorconfig 2016-12-15 18:47:20 +01:00
.eslintignore lint: force if braces, no lonely ifs and add store.js (#3685) 2018-08-11 00:24:53 +01:00
.eslintrc.js lint: force if braces, no lonely ifs and add store.js (#3685) 2018-08-11 00:24:53 +01:00
.gitignore chore: git ignore yarn-error.log (#3413) 2018-06-06 16:56:30 +04:30
.npmrc fix(ci): use registry.npmjs.org instead of registry.yarnpkg.com 2018-09-02 13:27:44 +04:30
.travis.yml perf: remove rollup build 2017-12-12 13:12:29 +03:30
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-10-20 10:32:44 +02:00
CONTRIBUTING.md Add 'Debugging tests on macOS' notes (#3724) 2018-08-14 21:16:57 +02:00
LICENSE.md license: Add banner on build and add our contributors to the list 2018-08-08 17:56:12 +02:00
README.md readme: Add browser stack for cross-browser testing 2018-08-21 17:53:17 +02:00
appveyor.yml fix: appveyor test failure (#3754) 2018-08-17 22:25:23 +02:00
index.js feat: move nuxt-legacy and nuxt-start into packages (#3824) 2018-08-31 22:51:41 +04:30
jest.config.js fix: appveyor test failure (#3754) 2018-08-17 22:25:23 +02:00
package.json fix: window nuxt build by using cross-spawn (#3833) 2018-09-01 21:44:57 +01:00
rollup.config.js feat: move nuxt-legacy and nuxt-start into packages (#3824) 2018-08-31 22:51:41 +04:30
yarn.lock fix(ci): use registry.npmjs.org instead of registry.yarnpkg.com 2018-09-02 13:27:44 +04:30

README.md

Build Status Windows Build Status  Coverage Status Downloads Version License Discord

Support us

Vue.js Meta Framework to create complex, fast & universal web applications quickly.

Features

  • 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.js file
  • Custom layouts with the layouts/ directory
  • Middleware
  • Code splitting for every pages/

Learn more at nuxtjs.org.

Partners

Become a partner and get your logo on our README on GitHub and every page of https://nuxtjs.org website with a link to your site. [Become a partner]

Sponsors

Become a sponsor and get your logo on our README on GitHub with a link to your site. [Become a sponsor]

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Getting started

$ npm install nuxt

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>
export default {
  data: () => {
    return { name: 'world' }
  }
}
</script>

And then run:

npm start

Go to http://localhost:3000

Templates

👉 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

Using nuxt.js programmatically

const { Nuxt, Builder } = require('nuxt')

// Import and set nuxt.js options
let config = require('./nuxt.config.js')
config.dev = (process.env.NODE_ENV !== 'production')

let nuxt = new Nuxt(config)

// Start build process (only in development)
if (config.dev) {
  new Builder(nuxt).build()
}

// You can use nuxt.render(req, res) or nuxt.renderRoute(route, context)

Learn more: https://nuxtjs.org/api/nuxt

Using nuxt.js as a middleware

You might want to use your own server with your 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

Render a specific route

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) {
    return res.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

Examples

Please take a look at https://nuxtjs.org/examples or directly in https://github.com/nuxt/nuxt.js/tree/dev/examples.

Production deployment

To deploy, instead of running nuxt, you probably want to build ahead of time. Therefore, building and starting are separate commands:

nuxt build
nuxt start

For 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.

Core team


Sébastien Chopin

📝 🐛 💻 🎨 📖 💬 👀 📢

Alexandre Chopin

🎨 📖 📋 📦 💬 📢

Pooya Parsa

🐛 💻 🔌 💬 👀 🔧

Clark Du

🐛 💻 💡 👀 ⚠️ 🔧

Contributors

Thank you to all our contributors!

Contributing

Please see our CONTRIBUTING.md

Cross-browser testing

Thanks to BrowserStack!

BrowserStack

License

MIT