站長資訊網
        最全最豐富的資訊網站

        JavaScript也用import嗎

        JavaScript中有import語句。import語句用于將某個模塊中導出的函數或對象、初始值導入到另一個模塊中;語法“import {模塊名稱} from "需要導入模塊的路徑名"”。

        JavaScript也用import嗎

        本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

        import 語句用于導入由另一個模塊導出的綁定。無論是否聲明了 strict mode,導入的模塊都運行在嚴格模式下。import語句不能在嵌入式腳本中使用。

        語法

        import defaultExport from “module-name”; import * as name from “module-name”; import { export } from “module-name”; import { export as alias } from “module-name”; import { export1 , export2 } from “module-name”; import { export1, export2 as alias2 , [...] } from “module-name”; import defaultExport, { export [ , [...] ] } from “module-name”; import defaultExport, * as name from “module-name”; import “module-name”;

        defaultExport

        將引用模塊默認導出的名稱。

        module-name

        要導入的模塊。這通常是包含模塊的 .js 文件的相對或絕對路徑名,可以不包括 .js 擴展名。某些打包工具可以允許或要求使用該擴展;檢查你的運行環境,只允許單引號和雙引號的字符串。

        name

        引用時將用作一種命名空間的模塊對象的名稱。

        export,exportN

        要導入的導出名稱

        alias,aliasN

        將引用指定的導入的名稱。

        描述

        name 參數是“模塊對象”的名稱,它將用一種名稱空間來引用導出。導出參數指定單個命名導出,而import * as name 語法導入所有導出。

        導入整個模塊的內容

        這將 myModule 插入當前作用域,其中包含來自位于 /modules/my-module.js 文件導出的所有模塊。

        import * as myModule from ‘/modules/my-module.js’;

        在這里,訪問導出意味著使用模塊名稱(在這種情況下為”myModule”)作為命名空間。例如,如果上面導入的模塊包含一個doAllTheAmazingThings(),你可以這樣調用:

        myModule.doAllTheAmazingThings();

        導入單個導出

        給定一個名為 myExport 的對象或值,它已經從模塊 my-module 導出(因為整個模塊被導出)或顯式導出(使用 export 語句),將 myExport 插入到當前作用域。

        import { myExport } from ‘/modules/my-module.js’;

        導入多個導出

        將 foo 和 bar 插入當前作用域。

        import { foo, bar } from ‘/modules/my-module.js’;

        導入帶有別名的導出

        導入時可以重命名導出,例如,將shortName 插入當前作用域。

        import { reallyReallyReallyLongModuleExportName as shortName } from “/modules/my-module.js”;

        導入時重命名多個導出

        使用別名導入模塊的多個導出。

        import {     reallyReallyReallyLongModuleMemberName as shortName,     anotherLongModuleName as short } form “/modules/my-module.js”;

        僅為副作用而導入一個模塊

        模塊僅為副作用(中性詞、無貶義含義)而導入,而不是導入模塊中的任何內容,這將運行模塊中的全局代碼,但實際上不導入任何值。

        import “/modules/my-module.js”

        導入默認值

        在 default-export (無論是對象、函數、類等)有效時可用。然后可以使用 import 語句來導入這樣的默認值。
        最簡單的用法是直接導入默認值:

        import myDefault from “/modules/my-module.js”;

        也可以同時將 default 語法與上述用法(命名空間導入和命名導入)一起使用。在這種情況下,default 導入必須首先聲明。

        import myDefault, * as myModule from “/modules/my-module.js”;

        或者

        import myDefault, { foo, bar } from “/modules/my-module.js”;

        示例

        從輔助模塊導入以協助處理 AJAX DSON 請求。

        模塊: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 getUserFulContents(url, callback){     getJSON(url, data => callback(JSON.parse(data))); }

        主程序:main.js

        import { getUserFulContents } from “/modules/file.js”; getUserFulContents(‘http://www.example.com”,      data => { doSomethingUseful(data); } )

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品乱码久久久久久| 国产韩国精品一区二区三区久久| 无码精品A∨在线观看中文| 99热这里只有精品国产66| 精品国产sm捆绑最大网免费站| 精品国产亚洲一区二区在线观看 | 91精品在线播放| 亚洲精品无码不卡在线播HE| 精品国产福利尤物免费| 精品免费tv久久久久久久| 精品无码一区二区三区亚洲桃色| 日韩精品中文字幕第2页| 国产亚洲午夜高清国产拍精品| 久久99精品久久久久久| 国产AV午夜精品一区二区入口 | 国产精品视频白浆免费视频| 在线亚洲精品自拍| 久久综合精品国产一区二区三区| 国产精品免费久久| 亚洲综合精品一二三区在线| 国内精品在线视频| 第一福利永久视频精品| 久久精品人人做人人妻人人玩| 亚洲精品自在在线观看| 日韩精品人妻av一区二区三区| 国内精品国产成人国产三级| 国产精品永久久久久久久久久| 亚洲国产精品久久久久婷婷软件| 国产成人亚洲精品| 996久久国产精品线观看| 国产午夜福利精品一区二区三区| 欧美精品v欧洲精品| 亚洲AV无码久久精品蜜桃| 亚洲欧美日韩国产精品一区二区| 四库影院永久四虎精品国产| 日本精品久久久久影院日本| 免费看一级毛片在线观看精品视频| 国产精品久久久久久久午夜片| 99R在线精品视频在线播放| 99精品欧美一区二区三区| 四虎成人精品免费影院|