Getting Started with Next JS
A simple guide for Next JS, a popular open-source React front-end web framework.
Next JS is a popular web framework built on top of React that provides out-of-the-box many hot features used in modern web development: static and server rendering, smart bundling, Typescripts support without a complex configuration.
Next JS - Open-Source React Framework.
To start using Next JS a minimal programming kit should be already installed with some of the tools:
    A modern editor - VSCode or Atom​
    ​Nodejs - used in Javascript-based products and tools
    ​Yarn - a popular package manager for NodeJS (better than NPM)
    ​GIT - a command-line tool used to download sources from Github​
Once we have this minimal set of tools, we can install Next JS using npm or Yarn.
1
$ npm install [email protected]
3
// OR
4
$ yarn add nextjs
Copied!
​

Hello World in Next JS

In this section, a simple Hello World project will be created using the console and a code editor.
The source code can be downloaded from Github: Next JS Hello​
Step #1 - Create project directory
1
$ mkdir hello-nextjs
2
$ cd hello-nextjs
Copied!
Step #2 - Execute npm init to generate package.json for our project with minimal information:
1
$ npm init
2
This utility will walk you through creating a package.json file.
3
...
Copied!
During the process, we can use the defaults for all questions. In the end, npm will ask to confirm the information and the file is saved.
Step #3 - Install dependencies
1
npm install next react react-dom
2
# OR
3
yarn add next react react-dom
Copied!
Step #4 - Create a simple page
Next JS expects the React content in the pages directory and our simple page is saved in this location.
1
// pages/index.js
2
import React from "react";
3
export default () => ( < div > Hello Next JS! < /div>);
Copied!
Step #5 - Added scripts to the package.json file
1
// Contents of package.json
2
...
3
"scripts": {
4
"test": "echo \"Error: no test specified\" && exit 1",
5
"dev": "next dev",
6
"build": "next build",
7
"start": "next start"
8
}
9
...
Copied!
Once we have saved the file, we can start this simple open-page Next JS project:
1
$ yarn dev
Copied!
The command will print a few messages in the terminal and serve the page on port 3000
1
$ next dev
2
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
3
event - compiled successfully
4
event - build page: /next/dist/pages/_error
5
wait - compiling...
6
event - compiled successfully
7
event - build page: /
8
wait - compiling...
Copied!
By visiting the project in the browser, we should see our Hello World message:
Next JS - Hello World Sample
A Real Next JS Sample
Obviously, the above sample is pretty simple and minimal, just to make curious the audience. In this section is mentioned a production-ready Next JS sample released by Creative-Tim as an open-source project.
​Next JS Material Kit - is a modern UI Kit for Next JS
Next JS Material Kit is a Free Material Design Kit made for NextJS, React, and Material-UI. Next JS Material Kit is built with over 100 individual frontend elements, giving you the freedom of choosing and combining. All components can take variations in color, which you can easily modify using SASS and JSS (inside JS files) files and classes.
How to build the project
Step #1 - access the product page and download/unzip the code
The product can be downloaded from the public repository: Next JS Material (Github).
Step #2 - Change the current directory inside the project and install dependencies
1
$ npm install
2
// OR
3
$ yarn
Copied!
Once the depenedencies are installed, we can start the project in development mode:
1
$ npm run dev
2
// OR
3
$ yarn dev
Copied!
If all goes well, we should see the project running in the browser on port 3000 (the default port):
Next JS - Material Kit Components.

Special Pages

Being a flexible framework, NextJS allows us to define special page handlers used globally across the project:
Custom "Document" used to augment your application's <html> and <body> tags.
To override the default Document, and define properties like lang we need to create the file ./pages/_document.js
App.js allows us to wrap ALL pages in a special wrapper and use a persistent layout across all pages.
Using this special page, we can achieve with ease a few useful things:
    Layout persistence between page changes
    Use a global CSS
    Preserve the app state when navigating app pages
Custom error pages - 404/500 Error Handlers
Next JS provides a 404 error page by default but in the same time allows us to overwrite it via pages/404.js file. The same thing we can do to handle with a custom page the 500 Error case.
For more information regarding the Next JS customization, please access:

​

Resources

Last modified 4mo ago