Ólafur Sverrir Kjartansson, osk@hi.is
- Leið til að skjala JavaScript kóða
- Svipar til JavaDoc
- Margar leiðir til að merkja kóða
- Gott að nota frekar en að búa eitthvað til sjálf
/**
* Read a file.
*
* @param {string} path - Path to file
* @returns {Promise} Promise that represents the file content
*/
function readFile(path) {
// ...
}
jsdoc
á NPM útbýr skjölun útfrá jsdocnpm install -g jsdoc
jsdoc app.js
- Getum og ættum að skipta forritunum okkar upp í einingar
- Með því verður...
- auðveldara er að hugsa um forritið
- auðveldara að vinna með flækjustig
- Node.js kemur með nokkrum einingum
- Getum sótt aðrar gegnum NPM
- Eða skrifað okkar eigin
- Einingakerfið í node byggir á CommonJS
- Varð til þegar fólk fór að nota JavaScript utan vafra og þurfti leið til að pakka saman virkni
- Hleður einingum synchronously
- Snýst um að exporta gögnum úr einingum og sækja með
require
- Til að veita aðgang að virkni í einingu þurfum við að exporta einhverju
- Gerum það með því að skilgreina hvaða gildi sem er á
module.exports
module.exports = 1;
– Gildinu1
er skilað úr modulemodule.exports = () => {};
– falli skilaðmodule.exports = { foo: 'bar' };
– hlut skilað
- Nokkrar leiðir til að skipta upp í módúla:
- Stakt skjal, t.d.
app.js
- Mappa með virkni, inngangspunktur er skrá nefnd
index.js
innan hennar - Mappa með virkni, inngangspunktur skilgreindur í
package.json
undirmain
lykli
- Stakt skjal, t.d.
- Notum pakka með
const pakki = require('<nafn-á-pakka>');
- Ef engin ending er skilgreind er gert ráð fyrir að skrá innihaldi JavaScript
- Ef ending er
json
eru json gögn í skrá þáttuð og þeim skilað
node.js mun leita eftir reglu:
- Ef strengur pakka byrjar á
./
,/
eða../
er leitað./
– í sömu möppu og skrá er í/
– eftir nákvæmlega uppgefinni slóð../
– í möppu fyrir ofan núverandi möppu
- Annars er leitað
/node_modules
í núverandi möppu, síðan fyrir ofan og koll af kolli
- ECMAScript 2015 skilgreinir aðra leið með import og export
- Almennt ekki kominn nógu góður stuðningur
- Node 9.4 hefur experimental stuðning ef við keyrum
node --experimental-modules file.mjs
- Skrár verða að hafa endinguna
mjs
til að geta notað
- Flókið því import export hleður einingum asynchronously
export default {
foo: 'hello world',
}
export const bar = 'foo bar';
import foo from './export';
import { bar } from './export';
import { bar as baz} from './export';
- Skýrari syntax
- Nefnd export
- Stutt af Babel, Webpack o.fl, en þar er að einhverju leiti svindlað og öllu hlaðið synchronously
- Munum sjá þegar við förum í React
- An Update on ES6 Modules in Node.js
- Þegar við höfum skrifað frábær forrit sem vel er hægt að endurnýta er auðvelt að koma því á NPM
- Búa til notanda á NPM
- Skilgreina
name
ogversion
ípackage.json
- Keyra
npm publish
- Gróði!