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

        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號
        主站蜘蛛池模板: 亚洲精品无码成人片在线观看| 亚洲国产精品无码av| 久久精品无码专区免费| CAOPORM国产精品视频免费| 色婷婷久久久SWAG精品| 999国产精品色在线播放| 国产亚洲精品精华液| 亚洲精品国产精品乱码不卞 | 久久99国产精品一区二区| 亚洲视频在线精品| 精品人妻少妇一区二区三区| 欧美精品黑人巨大在线播放| 国内精品伊人久久久久av一坑| 亚洲精品国产日韩无码AV永久免费网| 国产精品乱伦| 亚洲精品欧美综合在线| 久久久精品免费国产四虎| 99麻豆久久久国产精品免费| 精品三级AV无码一区| 日韩一区精品视频一区二区| 中文字幕精品一区二区三区视频| 国内精品久久久久影院网站| 国产成人精品在线观看| 亚洲无删减国产精品一区| 久久综合九色综合精品| 精品三级在线观看| 午夜精品福利视频| 午夜精品美女自拍福到在线| 亚洲国语精品自产拍在线观看| 国产亚洲综合成人91精品| 国产福利91精品一区二区三区| 国产精品对白刺激久久久| 国产精品对白交换视频| 99精品国产自在现线观看| 国产精品福利在线观看| 久久最新精品国产| 国产高清国内精品福利99久久| 国产精品久久久99| 国内精品久久久久久久涩爱| 国内精品免费久久影院| 麻豆国内精品久久久久久|