Il codice per questo capitolo è disponibile qua.
In questa sezione configureremo Node, Yarn, un file package.json
di base, e proveremo un package.
💡 Node.js è un ambiente di runtime per JavaScript. Viene utilizzato principalmente per lo sviluppo di Back-End, ma anche come ambiente di scripting in generale. Nel contesto dello sviluppo di Front-End, può essere utilizzato per l'esecuzione di tutta una serie di task, come il linting, esecuzione di test, e manipolazione dei file.
Utilizzeremo Node praticamente per tutto il tutorial, quindi ne avrai bisogno. Vai alla pagina di download per l'installazione in macOS o Windows, o alla pagina di installazione tramite package manager per le distribuzioni Linux.
Ad esempio, in Ubuntu / Debian, eseguiresti questi comandi per installare Node:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
Ti serve una versione di Node > 6.5.0.
Se ti serve la flessibilità di poter utilizzare versioni multiple di Node, installa NVM) oppure tj/n.
NPM è il package manager di default per Node. Viene automaticamente installato insieme a Node. I package manager sono utilizzati per installare e gestire i pacchetti (moduli di codice scritti da te o da altri). Utilizzeremo molti pacchetti in questo tutorial, ma ci serviremo di Yarn, un package manager differente.
💡 Yarn è un package manager per Node.js che è molto più veloce di NPM, ha il supporto offline, e gestisce le dipendenza in modo più predicibile.
Da quando è stato rilasciato ad ottobre 2016, è stato adottato molto rapidamente e potrebbe diventare presto il package manager di riferimento per la comunità JavaScript. Se preferisci rimanere con NPM puoi semplicemente sostituire tutti i comandi yarn add
e yarn add --dev
con npm install --save
e npm install --save-dev
.
Installa Yarn seguendo le istruzioni per il tuo OS. Se utilizzi macOS o Unix, ti consiglio di usare lo script Installation Script che trovi nella scheda Alternatives per evitare di essere dipendente da altri package manager:
curl -o- -L https://yarnpkg.com/install.sh | bash
💡 package.json è il file che serve a descrivere e configurare i progetti JavaScript. Contiene delle informazioni generali (il nome del progetto, la versione, i contributor, la licenza, etc), opzioni di configurazione dei tool che usi, e anche una sezione per l'esecuzione di task.
- Crea una cartella di progetto ed entraci da console (
cd
). - Esegui
yarn init
e rispondi alle domande (yarn init -y
per saltare tutte le domande), per generare automaticamente il filepackage.json
.
Ecco il contenuto del file package.json
che useremo per questo tutorial:
{
"name": "your-project",
"version": "1.0.0",
"license": "MIT"
}
- Crea un file
index.js
contenenteconsole.log('Hello world')
🏁 Esegui node .
in questa cartella (index.js
è il file che Node cerca di default per l'esecuzione). Dovrebbe scrivere "Hello world".
Nota: Vedi quella bandierina 🏁 ? La inserirò ogni volta che raggiungi un checkpoint. A volte faremo molte modifiche di seguito, e il codice potrebbe non funzionare fino al raggiungimento del checkpoint successivo.
Scrivere node .
per eseguire il nostro programma è un po' troppo di basso livello. Utilizzeremo uno script NPM/Yarn per far partire l'esecuzione del codice. Questo ci permetterà di avere un buon livello di astrazione e poter sempre eseguire yarn start
, anche quando il nostro programma diventerà più complesso.
- All'interno di
package.json
, aggiungi un oggettoscripts
in questo modo:
{
"name": "your-project",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"start": "node ."
}
}
start
è il nome che diamo al task che farà partire il nostro programma. Creeremo molti task differenti in questo oggetto scripts
nel corso di questo tutorial. start
tipicamente è il nome che viene dato al task di default. Altri nomi di task standard sono stop
e test
.
package.json
deve essere un file JSON valido, il che significa che non può avere delle virgole finali. Devi quindi fare attenzione quando modifichi a mano il file package.json
.
🏁 Lancia yarn start
. Dovrebbe venire scritto Hello world
.
-
Inizializza un repository Git con
git init
-
Crea un file
.gitignore
ed inserisci al suo interno quanto segue:
.DS_Store
/*.log
I file .DS_Store
sono dei file di macOS che vengono generati automaticamente e non dovresti mai avere inclusi nel tuo repository.
npm-debug.log
e yarn-error.log
sono dei file che vengono creati quando il package manager riscontra un errore, non li vogliamo includere nel repository.
In questa sezione vedremo come installare ed utilizzare un package. Un "package" è semplicemente del codice scritto da altri, che puoi riutilizzare nel tuo codice. Può essere qualunque cosa. Adesso ad esempio utilizzeremo un package che può aiutarti ad utilizzare i codici dei colori.
- Installa il package chiamato
color
attraverso il comandoyarn add color
Apri package.json
per vedere come Yarn ha automaticamente aggiunto color
nelle dependencies
.
Una cartella node_modules
è stata creata per contenere il package.
- Aggiungi
node_modules/
al file.gitignore
Noterai anche che un file yarn.lock
è stato generato da Yarn. Dovresti includere questo file nel repository, perchè farà in modo da assicurare che ogni persona del tuo team utilizzi le stesse versioni dei package. Se stai utilizzando NPM invece di Yarn, l'equivalente di questo file si chiama shrinkwrap.
- Scrivi quanto segue nel file
index.js
:
const color = require('color')
const redHexa = color({ r: 255, g: 0, b: 0 }).hex()
console.log(redHexa)
🏁 Esegui yarn start
. Dovrebbe scrivere #FF0000
.
Congratulazioni, hai installato ed utilizzato un package!
color
è stato utilizzato in questa sezione unicamente per farti vedere come puoi utilizzare un semplice package. Non lo utilizzeremo più in seguito, puoi quindi disintallarlo:
- Esegui
yarn remove color
Ci sono due tipi di dipendenze di package, "dependencies"
e "devDependencies"
:
Dependencies sono librerie che sono necessarie per il funzionamento dell'applicazione (React, Redux, Lodash, jQuery, etc). Le installi con il comando yarn add [package]
.
Dev Dependencies sono librerie utilizzate durante lo sviluppo o per fare il build dell'applicazione (Webpack, SASS, linter, framework di testing, etc). Queste vanno installate utilizzando il comando yarn add --dev [package]
.
Prossimo capitolo: 02 - Babel, ES6, ESLint, Flow, Jest, Husky
Torna all'indice dei contenuti.