Baseline Widely available *
ì ì import
문ì ë¤ë¥¸ 모ëìì ë´ë³´ë¸ ë°ì¸ë©ì ê°ì ¸ì¬ ë ì¬ì©í©ëë¤.
ê°ì ¸ì¤ë 모ëì "use strict"
ì ì¡´ì¬ ì 무ì ìê´ìì´ ë¬´ì¡°ê±´ ì격 모ëì
ëë¤. HTML ìì ìì±í ì¤í¬ë¦½í¸ììë import
를 ì¬ì©í ì ììµëë¤.
í¨ìí 구문ì ê°ì§ ëì **import()
**ë ìì¼ë©°, type="module"
ì íìë¡ íì§ ììµëë¤.
<script>
íê·¸ì nomodule
ìì±ì ì¬ì©í´ íìí¸íì±ì ì ì§í ì ììµëë¤.
ëì ê°ì ¸ì¤ê¸°ë 모ëì ì¡°ê±´ì ì¼ë¡ ê°ì ¸ì¤ê³ ì¶ê±°ë, íìí ëìë§ ê°ì ¸ì¬ ë ì ì©í©ëë¤. ë°ë©´ ì´ê¸° ìì¡´ì±ì ë¶ë¬ì¬ ëì ì ì ê°ì ¸ì¤ê¸°ê° ë ì¢ê³ , ì ì ì½ë ë¶ì ë구ì í¸ë¦¬ ì °ì´í¹ì ì ì©í기 ì½ìµëë¤.
구문 import defaultExport from "module-name";
import * as name from "module-name";
import { export1 } from "module-name";
import { export1 as alias1 } from "module-name";
import { export1 , export2 } from "module-name";
import { foo , bar } from "module-name/path/to/specific/un-exported/file";
import { export1 , export2 as alias2 , [...] } from "module-name";
import defaultExport, { export1 [ , [...] ] } from "module-name";
import defaultExport, * as name from "module-name";
import "module-name";
var promise = import("module-name");
defaultExport
모ëìì ê°ì ¸ì¨ 기본 ë´ë³´ë´ê¸°ë¥¼ ê°ë¦¬í¬ ì´ë¦.
module-name
ê°ì ¸ì¬ ëì 모ë. ë³´íµ, 모ëì ë´ì .js
íì¼ë¡ì ì ë ëë ìë ê²½ë¡ì
ëë¤. ë²ë¤ë¬ì ë°ë¼ íì¥ì를 íì©íê±°ë, íìë¡ í ìë ìì¼ë¯ë¡ ìì
íê²½ì íì¸íì¸ì. ë°ì´íì ìë°ì´í 문ìì´ë§ ì¬ì© ê°ë¥í©ëë¤.
name
ê°ì ¸ì¨ ëìì ì ê·¼í ë ì¼ì¢ ì ì´ë¦ê³µê°ì¼ë¡ ì¬ì©í , 모ë ê°ì²´ì ì´ë¦.
exportN
ë´ë³´ë¸ ëì ì¤ ê°ì ¸ì¬ ê²ì ì´ë¦.
aliasN
ê°ì ¸ì¨ ì ëª ë´ë³´ë´ê¸°ë¥¼ ê°ë¦¬í¬ ì´ë¦.
name
íë¼ë¯¸í°ë export ëë 멤ë²ë¥¼ ë°ì ì¤ë¸ì í¸ì ì´ë¦ì
ëë¤. member
íë¼ë¯¸í°ë ê°ê°ì 멤ë²ë¥¼ ì§ì íì§ë§, name
íë¼ë¯¸í°ë 모ë를 ê°ì ¸ìµëë¤. 모ëìì name ì ë©¤ë² ëì íëì default íë¼ë¯¸í°ë¥¼ íµí´ export íë ê²½ì°ìë ëìí ì ììµëë¤. ë¤ìì ëª
íí ìì 문ë²ì ì´í´ë´
ìë¤.
모ë ì 체를 ê°ì ¸ìµëë¤. export í 모ë ê²ë¤ì íì¬ ë²ì(ì¤í¬ë¦½í¸ íì¼ íëë¡ êµ¬ë¶ëë 모ë ë²ì) ë´ì myModule
ë¡ ë°ì¸ë©ëì´ ë¤ì´ê°ëë¤.
import * as myModule from "my-module.js";
모ëìì íëì 멤ë²ë§ ê°ì ¸ìµëë¤. íì¬ ë²ì ë´ì myMember
ì´ ë¤ì´ê°ëë¤.
import { myMember } from "my-module.js";
모ëìì ì¬ë¬ 멤ë²ë¤ì ê°ì ¸ìµëë¤. íì¬ ë²ì ë´ì foo
ì bar
ì´ ë¤ì´ê°ëë¤.
import { foo, bar } from "my-module.js";
멤ë²ë¥¼ ê°ì ¸ì¬ ë ì¢ ë í¸ë¦¬í ë³ëª
ì ì§ì í´ì¤ëë¤. íì¬ ë²ì ë´ì shortName
ì´ ë¤ì´ê°ëë¤.
import { reallyReallyLongModuleMemberName as shortName } from "my-module.js";
모ëìì ì¬ë¬ 멤ë²ë¤ì í¸ë¦¬í ë³ëª ì ì§ì íë©° ê°ì ¸ìµëë¤.
import {
reallyReallyLongModuleMemberName as shortName,
anotherLongModuleName as short,
} from "my-module.js";
ì´ë í ë°ì¸ë© ìì´ ëª¨ë ì ì²´ì ì¬ì´ë ì´íí¸ë§ ê°ì ¸ìµëë¤.
ê¸°ë³¸ê° ê°ì ¸ì¤ê¸°default export 를 íµí´ ë´ë³´ë¸ ê²ì 기본ê°ì¼ë¡ ê°ì ¸ì¬ ì ììµëë¤. (object, function, class ë±). export ì ìë°ë import
ëª
ë ¹ì´ë¥¼ íµí´ 기본ê°ì ê°ì ¸ì¤ë ê²ì´ ê°ë¥í©ëë¤.
기본ê°ì¼ë¡ ë°ë¡ ê°ì ¸ì¤ë ê°ì¥ ê°ë¨í ë²ì :
import myModule from "my-module.js";
ìì í¨ê» 기본 구문ë ê°ì´ ì¬ì©í ì ììµëë¤ (namespace ê°ì ¸ì¤ê¸° ëë ì´ë¦ ì§ì íì¬ ê°ì ¸ì¤ê¸°). ì´ë¬í ê²½ì°, ê¸°ë³¸ê° ê°ì ¸ì¤ë ë¶ë¶ì 먼ì ì ì¸í´ì¼ í ê²ì ëë¤. ì를 ë¤ì´:
import myDefault, * as myModule from "my-module.js";
// myModule used as a namespace
ëë
import myDefault, { foo, bar } from "my-module.js";
// specific, named imports
ìì
AJAX JSON 리íì¤í¸ ì²ë¦¬ë¥¼ ëë ë³´ì¡° íì¼ì ê°ì ¸ìµëë¤.
// --file.js--
function getJSON(url, callback) {
let xhr = new XMLHttpRequest();
xhr.onload = function () {
callback(this.responseText);
};
xhr.open("GET", url, true);
xhr.send();
}
export function getUsefulContents(url, callback) {
getJSON(url, (data) => callback(JSON.parse(data)));
}
// --main.js--
import { getUsefulContents } from "file.js";
getUsefulContents("http://www.example.com", (data) => {
doSomethingUseful(data);
});
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4