Node - package.json

Från Webbling
Version från den 4 januari 2016 kl. 15.22 av PGJ (diskussion | bidrag) (Skapade sidan med 'För att lättare kunna paketera Node-program kan man skapa en standardfil som innehåller information om applikationen. Detta är filen <code>package.json</code>. Filen inneh...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till: navigering, sök

För att lättare kunna paketera Node-program kan man skapa en standardfil som innehåller information om applikationen. Detta är filen package.json. Filen innehåller saker som namn, version, beskrivning, programmerare/författare samt vilka NPM-moduler som krävs för att köra paketet. Dessa saker anges som en JSON-struktur i filen. Vi ska gå igenom några av de saker som man kan ange i denna fil. (Prova gärna http://browsenpm.org/package.json som interaktivt visar upp vad som kan ingå i en package.json-filen.) En minimal package.json som skapats av ”Express Generator” ser ut ungefär så här: {

 "name": "NodeTest",
 "version": "0.0.0",
 "private": true,
 "scripts": {
   "start": "node ./bin/www"
 },
 "dependencies": {
   "body-parser": "~1.13.2",
   "cookie-parser": "~1.3.5",
   "debug": "~2.2.0",
   "express": "~4.13.1",
   "jade": "~1.11.0",
   "morgan": "~1.6.1",
   "serve-favicon": "~2.3.0"
 }

} Låt oss gå igenom vad filen innehåller… Först ut har vi name. Detta värde bestämmer vilket namn vår applikation ska ha. Detta är en obligatorisk parameter och namnet ska anges gement (dvs, i små bokstäver). Därefter följer version, som förstås anger vilken version denna fil handlar om. Detta ska anges med tre tal, åtskilda med punkter. De tre talen är:

  1. Större version. API:et har ändrats så det inte är bakåtkompatibelt
  2. Mindre version. Funktionalitet har lagts till, men det är bakåtkompatibelt.
  3. Patch. Små, bakåtkompatibla buggfixar.

private anger om detta är ett paket som ska delas till andra eller ej. Om det är satt till false kommer NPM att tycka att det ska publiceras till allmänheten. I de flesta fall vill vi inte detta, speciellt inte så länge vi håller på och utvecklar koden. Man skulle även kunna tänka sig att ha några till värden här i början. Dels finns description, som är en kort och koncis beskrivning av vad paketet är till för. Vi kan även ange vem som är huvudprogrammeraren för paketet genom att ange author. Här anger man namn namnet följt av mailadressen, t.ex.: ”author”: ”Patrik Grip-Jansson <pgj@gnulix.org>” Man kan även ange vilka som varit med och bidragit till koden. Det gör man med contributors. Denna består av en array med namn och mailadresser för alla medhjälpare. Så här kan den se ut: ”contributors” : [{ ”name” : ”Nisse Motlut”, ”email” : ”nm@example.com”}] Med värdet script kan man ange en lista över kommandon som ska kunna köras av NPM. Dessa startas genom att man kör: npm run <kommando> I vårt fall skapas alltså kommandot start och när man exekverar det så kommer Node att starta igång och köra vår applikation. Sist i vår exempelfil följer en lista på de paket som behövs för att kunna köra vår applikation. För dessa värden anges först paketnamnet, därefter paketversionen. Genom att ange en version, så kan man tala om vilken version av ett paket som man vet fungerar med ens applikation. Man kan visserligen fylla i detta själv. Men det brukar vara bättre att låta NPM sköta det åt en. Det kan man göra genom att ge en extra flagga när man installerar ett paket. Så här kan det se ut om vi vill ange att vår applikation kräver Lodash: npm install lodash –save

Ovanstående kommer att lägga till lodash med den senaste versionen angiven i din package.json-fil. Detta är det enklaste sättet att lägga till beroenden. Det finns långt mycket mer man kan använda i sin package.json-fil. Men detta bör räcka till i de allra flesta fallen.

Nästa aktivitet

Nu har vi fått en hel del mer på fötterna och vi ska skapa en lite mer omfattande Node-applikation.

En första serverapplikation med Node