JavaScript Academy · Oppitunti

package.json, skriptit sekä deps ja devDeps

Ymmärrä package.jsonin kentät, määritä yksinkertaisia skriptejä ja opi riippuvuuksien sekä kehitysriippuvuuksien ero

Oppitunti 1/38 vaihetta

package.json, skriptit sekä deps ja devDeps on ilmainen JavaScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu JavaScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.

Miksi package.json?

Tavoite: Lue ja käytä tiedostoa package.json.

  • Tärkeät kentät: name, version, type
  • scripts: suorita lyhyitä komentoja
  • dependencies ja devDependencies
  • Semanttiset versiot (caret/tilde) — lyhyt johdanto aloittelijoille
package.json, skriptit sekä deps ja devDeps — kuvitus 1

Kentät lyhyesti

package.json on manifesti, joka sisältää projektin tiedot, skriptit ja riippuvuusluettelot.

// Emulate a minimal package.json as a JS object
const pkg = {
  name: "hello-app",
  version: "1.0.0",
  type: "module",
  scripts: {
    start: "node index.js",
    build: "echo building...",
    test: "echo tests..."
  },
  dependencies: {
    "chalk": "^5.3.0"
  },
  devDependencies: {
    "eslint": "^9.0.0"
  }
};

console.log("name:", pkg.name);
console.log("version:", pkg.version);
console.log("type:", pkg.type);
console.log("scripts:", Object.keys(pkg.scripts));
package.json, skriptit sekä deps ja devDeps — kuvitus 2

Skriptit nimen mukaan

Lisää komennot scripts-kentän alle (esim. build, test) ja suorita ne paketinhallinnalla.

// Tiny emulator for "npm run <name>"
function runScript(name) {
  const cmd = pkg.scripts[name];
  if (!cmd) {
    console.log("no such script:", name);
    return;
  }
  console.log("running:", name, "->", cmd);
}

runScript("build");
runScript("test");
runScript("missing");
package.json, skriptit sekä deps ja devDeps — kuvitus 3

Mikä kuuluu minne?

dependencies-riippuvuuksia tarvitaan sovelluksen ajon aikana; devDependencies sisältää vain kehitystyökaluja.

// List production deps vs development-time tools
function listDeps() {
  console.log("deps:", Object.keys(pkg.dependencies));
  console.log("devDeps:", Object.keys(pkg.devDependencies));
}

// Rule of thumb in comments:
// dependencies -> needed at runtime (your app uses them when running)
// devDependencies -> only for development (lint, test, build tools)

listDeps();
package.json, skriptit sekä deps ja devDeps — kuvitus 4

Semverin perusteet

Semver-arvoalueet ilmaisevat sallitut päivitykset: caret (minor- ja patch-päivitykset), tilde (patch-päivitykset) tai tarkka versio.

// Semantic version ranges (intent only)
// ^1.2.3  -> allow minor/patch updates (1.x compatible)
// ~1.2.3  -> allow patch updates (1.2.x)
// 1.2.3   -> exact version

const ranges = ["^1.2.3", "~1.2.3", "1.2.3"];
for (const r of ranges) {
  console.log("range:", r);
}
package.json, skriptit sekä deps ja devDeps — kuvitus 5

Käytännön huomioita

Vinkit:

  • Pidä skriptit lyhyinä ja selkeinä (esim. build, test).
  • Ajon aikaiset kirjastot → dependencies; työkalut → devDependencies.
  • Aloita ^-arvoalueista ja lukitse tarkat versiot myöhemmin tarvittaessa.
package.json, skriptit sekä deps ja devDeps — kuvitus 6

scripts-kentän testi

Pikatarkistus: missä komennot sijaitsevat?

package.json, skriptit sekä deps ja devDeps — kuvitus 7

Kertaus

Kertaus: package.json sisältää projektin tiedot, tehtävien suorittamiseen tarkoitetut scripts-skriptit sekä erottaa dependencies-riippuvuudet (ajonaikaiset) devDependencies-riippuvuuksista (kehitystyökalut). Käytä yksinkertaisia semver-arvoalueita pysyäksesi ajan tasalla.

package.json, skriptit sekä deps ja devDeps — kuvitus 8
Aloita maksutta

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
59
Oppitunnit
200

Usein kysytyt kysymykset

Onko oppitunti ”package.json, skriptit sekä deps ja devDeps” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa JavaScript Academy-oppimispolun 3 oppituntia, myös oppitunnin “package.json, skriptit sekä deps ja devDeps”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”package.json, skriptit sekä deps ja devDeps”?

Ymmärrä package.jsonin kentät, määritä yksinkertaisia skriptejä ja opi riippuvuuksien sekä kehitysriippuvuuksien ero Harjoittelet JavaScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni JavaScript Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin JavaScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.

Kuinka kauan ”package.json, skriptit sekä deps ja devDeps”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä JavaScript Academy-oppitunnilla?

Kyllä. Jokainen JavaScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. package.json, skriptit sekä deps ja devDeps
  2. npx ja semanttisen versioinnin vaihteluvälit
  3. Paikalliset ja globaalit työkalut, bin-komennot ja tiimityö
← Takaisin: JavaScript Academy