Installation
Here, you will find information on setting up and running a Nuxt project in 4 steps.
Online playground
You can play with Nuxt online directly on CodeSandbox or StackBlitz:
Play on CodeSandbox Play on StackBlitzPrerequisites
- node - We recommend you have the latest LTS version installed.
- A text editor, we recommend VS Code with the Volar extension or WebStorm .
- A terminal, we recommend using VS Code's integrated terminal or WebStorm terminal .
Using create-nuxt-app
To get started quickly, you can use create-nuxt-app .
Make sure you have installed yarn, npx (included by default with npm v5.2+) or npm (v6.1+).
yarn create nuxt-app <project-name>
npx create-nuxt-app <project-name>
npm init nuxt-app <project-name>
It will ask you some questions (name, Nuxt options, UI framework, TypeScript, linter, testing framework, etc). To find out more about all the options see the create-nuxt-app documentation .
Once all questions are answered, it will install all the dependencies. The next step is to navigate to the project folder and launch it:
cd <project-name>
yarn dev
cd <project-name>
npm run dev
The application is now running on http://localhost:3000 . Well done!
Manual Installation
Creating a Nuxt project from scratch only requires one file and one directory.
We will use the terminal to create the directories and files, feel free to create them using your editor of choice.
Set up your project
Create an empty directory with the name of your project and navigate into it:
mkdir <project-name>
cd <project-name>
Replace <project-name> with the name of your project.
Create the package.json file:
touch package.json
Fill the content of your package.json with:
{
"name": "my-app",
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"generate": "nuxt generate",
"start": "nuxt start"
}
}
scripts define Nuxt commands that will be launched with the command npm run <command> or yarn <command>.
What is a package.json file?
The package.json is like the ID card of your project. It contains all the project dependencies and much more. If you don't know what the package.json file is, we highly recommend you to have a quick read on the npm documentation .
Install Nuxt
Once the package.json has been created, add nuxt to your project via npm or yarn like so below:
yarn add nuxt
npm install nuxt
This command will add nuxt as a dependency to your project and add it to your package.json. The node_modules directory will also be created which is where all your installed packages and dependencies are stored.
yarn.lock or package-lock.json is also created which ensures a consistent install and compatible dependencies of your packages installed in your project.Create your first page
Nuxt transforms every *.vue file inside the pages directory as a route for the application.
Create the pages directory in your project:
mkdir pages
Then, create an index.vue file in the pages directory:
touch pages/index.vue
It is important that this page is called index.vue as this will be the default home page Nuxt shows when the application opens.
Open the index.vue file in your editor and add the following content:
<template>
<h1>Hello world!</h1>
</template>
Start the project
Run your project by typing one of the following commands below in your terminal:
yarn dev
npm run dev
The application is now running on http://localhost:3000 .
Open it in your browser by clicking the link in your terminal and you should see the text "Hello World" we copied in the previous step.
Bonus step
Create a page named fun.vue in the pages directory.
Add a <template></template> and include a heading with a funny sentence inside.
Then, go to your browser and see your new page on localhost:3000/fun .
more-fun and putting an index.vue file inside it will give the same result as creating a more-fun.vue file.
Florian Reuschel
Sébastien Chopin
Daniel Roe
Rishi Raj Jain
Clément Ollivier
Savas Vedova
Steven Soekha
Vinícius Alves
Kareem Dabbeet
Valentín Costa
Ryan Skinner
Alex Hirzel
Ajeet Chaulagain
René Eschke
Nico Devs
Muhammad
Nazaré da Piedade
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian LEFEBVRE
Lucas Recoaro
Julien SEIXAS
Hugo
Sylvain Marroufin
Spencer Cooley
Piotr Zatorski
Vladimir Semenov
Harry Allen
kazuya kawaguchi
Unai Mengual
Hyunseung Lee
Alexandre Chopin
pooya parsa
Nick Medrano
Mosaab Emam
Iljs Путлер Капут
Heitor Ramon Ribeiro
Nero
Yoon Han
Ikko Eltociear Ashimine
FamCodings
Ayouli
F. Hinkelmann
felipesuri
Christophe Carvalho Vilas-Boas
Leoš Literák
Trizotti
Marcello Bachechi