Nie jestem ekspertem, ale import
jest podobna do require
na wiele sposobów, ale kluczowa różnica to:
można importować selektywnych przedmioty używając import
(przypuszczam to blisko python), ale z require
, eksportujesz tylko jeden moduł jako przestrzeń nazw, wszystko inne to jego podmoduły.
drugie, require
jest bardziej od node.js cienias (choć można doprowadzić go do przeglądarki za pomocą browserify) ,, ale import
jest rodowitym cechą ES6, czyli przeglądarki, które obsługują ES6, import
będzie działać
Przykład z lukehoban na es6features aby wzmacniać swój pierwszy punkt:
// 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 import z ...' działa tylko wtedy, gdy importowany moduł ma domyślny eksport. Wszystko, co musisz wiedzieć, powinno znajdować się w https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import. –
Dziękuję Felix, miałeś rację! –