Io non sono un esperto, ma import
è simile a require
in molti modi, ma la differenza chiave sono:
è possibile importare gli elementi selettivi utilizzando import
(indovinate questo è vicino a Python), ma con require
, si esporta solo un singolo modulo come spazio dei nomi, tutto il resto è sotto moduli.
secondo è, require
è più di di node.js Thingy (anche se è possibile portarlo in browser usando browserify) ,, ma import
è ormai una caratteristica nativa di ES6, vale a dire i browser che supportano ES6, import
avrebbe funzionato
Esempio da lukehoban di es6features per rinforzare il mio primo punto:
// lib/math.js
export function sum(x, y) {
return x + y;
}
export var pi = 3.141593;
// app.js
import * as math from "lib/math";
alert("2π = " + math.sum(math.pi, math.pi));
// otherApp.js
import {sum, pi} from "lib/math";
alert("2π = " + sum(pi, pi));
//Some additional features include export default and export *:
// lib/mathplusplus.js
export * from "lib/math";
export var e = 2.71828182846;
export default function(x) {
return Math.log(x);
}
// app.js
import ln, {pi, e} from "lib/mathplusplus";
alert("2π = " + ln(e)*pi*2);
'foo importazione da ...' funziona solo se il modulo importato ha un export di default. Tutto ciò che devi sapere dovrebbe essere contenuto in https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import. –
Grazie Felix, avevi ragione! –