sandra-larsson
Educator Fullstack Developer Javascript at Chas Academy
JavaScript
Text
När en applikation blir större och mer komplex bör vi dela in koden i mindre logiska delar för att få en bättre överblick.
Med export kan man göra en variabel, funktioner eller klasser tillgängliga utanför modulen
Med import kan man importera funktionalitet från andra moduler
En modul är alltså kod som är återanvändbar där funktionaliteten är inkapslad och bara åtkomlig inom modulen. Vad som exponeras från modulen med export brukar kallas public API. Det som importeras brukar kallas för dependency.
// 📁 sayHi.js
export function sayHi(user) {
alert(`Hello, ${user}!`);
}
# MODULER
// 📁 main.js
import {sayHi} from './sayHi.js';
alert(sayHi); // function...
sayHi('John'); // Hello, John!
<!-- 📁 index.html -->
<script type="module" src="./main.js"></script>
Om scripten som laddas in är en modul, måste det anges
Man kan fortfarande använda båda varianterna i en och samma fil.
// Export Statements
export default function Button() {} // default export
export function Button() {} // named export
# MODULER
// Import Statements
import Banana from './button.js'; // default export
import { Button } from './button.js'; // Named export
En fil kan inte ha mer än en export default!
När man importerar en default export kan kan ändra namnet!
Så named exports heter så eftersom de är namngivna.
const sum = (a, b) => {
return a + b;
};
// default export
export default sum;
# MODULER
Exporten måste göras på egen rad
//// named export
export function sum(a, b) {
return a + b;
}
export function multiply(a, b) {
return a * b;
}
# MODULER
// named import
import {sum, multiply} from './another-file.js';
console.log(sum(35, 65)); // 100
// default export
export default function sum(a, b) {
return a + b;
}
# MODULER
// default import
import foo from './another-file.js';
console.log(foo(35, 65)); // 100
By sandra-larsson