Do you want to explore Sitecore JSS and Next.js? This blog is perfect to start with creating a Sitecore JSS -Next.js app using JSS CLI.
 
 
Pre-requisites:
 Operating system which supports Node. (I am using Windows 10) Install Node. Recommended to use latest LTS release. 
If node is already installed, you can check the version using powershell.
 
Let’s now start!!
 Install JSS CLI using command below.
 
Open powershell and run the below command
 
npm install -g @sitecore-jss/sitecore-jss-cli
 
You can validate your installation by running the below command
 
jss –help Create the Next.js application.
 
Open powershell and run the below command
 
Firstly set the path of the folder where you want to create the app
 
cd C:\SitecoreJSSNextJS
 
and then run below command
 
jss create mynextjsapp nextjs
 
where
 
mynextjsapp is the name of your application
 
You will see a folder with all the artefacts.
 
Open the app folder in Visual Studio Code.
 Now to run the application in 
disconnected mode, open a terminal in VS Code and run the below command 
jss start 
The app will be built and a local development server will be started. Hit the url  http://localhost:3000/
 
To run the app in connected mode, run the below command
 
jss start:connected
 
When I try to run the above command, I get the below error by hitting url http://localhost:3000/
 
Before trying to run in connected mode, please install the Sitecore Javascript Services or Sitecore Headless Rendering package to your sitecore instance based on your version of Sitecore. (if not already completed)
 
and follow below steps to link and deploy app to a running sitecore instance. Below are the steps to do it.
 
Create a Sitecore Api Key
 
1.1 Login to sitecore and open content editor. Navigate to path /sitecore/system/Settings/Services/API Keys
 
1.2 Create an API Key and provide a name
 
1.3. Set the properties as below of the API Key created. (These values are for local development setup)
 
1.4. Keep the API Key item id. In my case it is {3F9C5109-1785-4578-856D-A57209D883A8}
 
Run below command 
jss setup
 
Put the values of these as per below snapshot and press enter
 
If you do not have SSL then put host name without SSL
 Run below command to deploy the config files to your sitecore instance. 
jss deploy config 
Add the host name mynextjsapp.dev.local pointing to localhost in hosts file located at C:\Windows\System32\drivers\etc.
 
and add the same host name in sitecore instance binding on IIS
 
Now run the deploy command
 
jss deploy items –includeContent –includeDictionary
 
In local development if you see any issue with certificate or SSL you can
 
Disable TLS by running below command and restart Visual Studio
 
$env:NODE_TLS_REJECT_UNAUTHORIZED=0
 
Or you can follow below article to fix this SSL issue.
 
https://jss.sitecore.com/docs/fundamentals/troubleshooting/node-certificates
 
Build your jss solution using below command
 
jss build
 
Login to Sitecore and publish the site.
 
To run the app in connected mode, use below command
 
jss start:connected
 
Happy Sitecoreing !! Thanks Sitecore