FJS26 · V48 · TISDAG
Node.js, npm, Vite, ESLint och Prettier. Samma uppsättning som ni använder resten av kursen.
Chas Academy · Tisdag 24 november 2026
Hittills har ni kört koden med Live Server. Det räcker långt, men inte hela vägen: inga paket, inget bygge och ingen som säger till när koden är fel.
VARFÖR VERKTYG?
Node.js. Allt annat i listan är program skrivna i JavaScript, som körs i Node.
npm. Installerar paket, håller reda på versioner och kör skript.
Vite. Utvecklingsserver som laddar om direkt, och bygger en färdig version till dist/.
ESLint hittar fel. Prettier formaterar likadant hos alla.
En runtime som kör JavaScript utanför webbläsaren. Den bygger på V8, samma JavaScript-motor som i Chrome.
document eller window, men process och filsystemet.fetch, console och setTimeout finns i båda.NODE.JS
document.title; // fungerar window.innerWidth; // fungerar process.version; // ReferenceError
document.title; // ReferenceError process.version; // 'v22.23.3' await fetch(url); // fungerar
NPM
npm install date-fns npm install -D eslint
package.json säger vilka paket och vilka versioner som är okej. package-lock.json säger exakt vilka som installerades.
npm run dev npm run build npm run lint
NPM
{
"name": "vaderappen",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"lint": "eslint ."
},
"dependencies": {
"date-fns": "^4.4.0"
},
"devDependencies": {
"vite": "^8.3.5"
}
}scripts: kommandon du kör med npm run.
dependencies: behövs när appen körs.
devDependencies: behövs bara när du utvecklar, som Vite och ESLint.
^4.4.0: 4.4.0 eller nyare, men inte 5.
NPM
package.json och package-lock.json. Med dem kan vem som helst köra npm install och få exakt samma paket.
node_modules och dist. De går att återskapa, och node_modules kan vara hundratals megabyte.
NPM
Code-along del 2: väderappen från v47, med Live Server.
import { format } from 'date-fns';TypeError: Failed to resolve module specifier "date-fns". Relative references must start with either "/", "./", or "../".
Ett build tool: en utvecklingsserver medan du kodar, och en bundler som bygger en färdig version när du är klar.
npm run dev: startar en server som laddar om sidan direkt när du sparar.import av paket från node_modules.npm run build: slår ihop, minifierar och optimerar till dist/, som är det du publicerar.VITE
npm create vite@latest 3-vite # Vanilla → JavaScript cd 3-vite npm install npm run dev
index.html i roten, koden i src/, statiska filer i public/, och en package.json med skripten dev, build och preview.
VITE
import { format } from 'date-fns';
import { sv } from 'date-fns/locale';
format(new Date('2026-11-19'),
'EEEE d MMMM', { locale: sv });
// 'torsdag 19 november'npm run build dist/index.html dist/assets/index-BYnw8nEF.css dist/assets/index-fuh0IRuM.js
KODKVALITET
Variabler som inte används, variabler som inte finns, kod som aldrig körs. Saker som kan vara buggar.
'x' is assigned a value but never used no-unused-vars 'y' is not defined no-undef
Indrag, citattecken, radlängd och semikolon. Bara utseendet, aldrig vad koden gör.
const x = 1 // blir const x = 1;
KODKVALITET
npm install -D eslint @eslint/js globals npm install -D prettier npm install -D eslint-config-prettier
import js from '@eslint/js';
import globals from 'globals';
import prettier from
'eslint-config-prettier';
export default [
{ ignores: ['dist'] },
js.configs.recommended,
{ languageOptions:
{ globals: globals.browser } },
prettier,
];KODKVALITET
"scripts": {
"dev": "vite",
"build": "vite build",
"lint": "eslint .",
"format": "prettier --write .",
"format:check": "prettier --check .",
"check":
"npm run lint && npm run format:check"
}Installera tilläggen för ESLint och Prettier, och slå på Format on Save. Då ser du felen medan du skriver, och koden formateras när du sparar.
Övning
Ta en egen app, till exempel quiz-appen från u03, och flytta in den i ett nytt Vite-projekt. Lägg till ESLint och Prettier och skripten lint, format och check. Kör npm run check och rätta det ESLint hittar.
20 min
Du kan sätta upp ett Vite-projekt med lint och formattering från början, utan att titta i code-alongen.
KURSMÅL 2
package.json, package-lock.json och node_modules är till för.dependencies och devDependencies.EFTER PASSET