最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中import和export用法示例總結(jié)

 更新時間:2025年05月22日 10:32:16   作者:dreamw  
在 ES6 之前,社區(qū)制定了一些模塊加載方案,最主要的有 CommonJS 和 AMD 兩種,前者用于服務(wù)器,后者用于瀏覽器,這篇文章給大家介紹了javascript中import和export用法總結(jié),感興趣的朋友一起看看吧

import

import 和 require 的區(qū)別

import 和js的發(fā)展歷史息息相關(guān),歷史上 js沒有模塊(module)體系,無法將一個大程序拆分成互相依賴的小文件,再用簡單的方法拼裝起來。這對開發(fā)大型工程非常不方便。
在 ES6 之前,社區(qū)制定了一些模塊加載方案,最主要的有 CommonJS 和 AMD 兩種。前者用于服務(wù)器,后者用于瀏覽器。ES6 在語言標準的層面上,實現(xiàn)了模塊功能,而且實現(xiàn)得相當簡單,完全可以取代 CommonJS 和 AMD 規(guī)范,成為瀏覽器和服務(wù)器通用的模塊解決方案。也就是我們常見的 require 方法。 比如 `let { stat, exists, readFile } = require('fs');
` 。
ES6 在語言標準的層面上,實現(xiàn)了模塊功能。ES6 模塊不是對象,而是通過export命令顯式指定輸出的代碼,再通過import命令輸入。

import 的幾種用法:

import defaultName from 'modules.js';
 import { export } from 'modules';
 import { export as ex1 } from 'modules';
 import { export1, export2 } from 'modules.js';
 import { export1 as ex1, export2 as ex2 } from 'moduls.js';
 import defaultName, { expoprt } from 'modules';
 import * as moduleName from 'modules.js';
 import defaultName, * as moduleName from 'modules';
 import 'modules';

import用法解釋

  • import后面的from指定模塊文件的位置,可以是相對路徑,也可以是絕對路徑,.js后綴可以省略。如果只是模塊名,不帶有路徑,那么必須有配置文件,告訴 JavaScript 引擎該模塊的位置。某些打包工具可以允許或要求使用擴展名。
  • 上面代碼使用的 ==as== 關(guān)鍵字,相當于import 進來的‘值’的別名。
  • import * from 'xx' 將導入整個模塊的內(nèi)容,而 import defaultName 和 import { export1, export2 } 將導入export的某個對象或值
  • 最后一種方式 import 'modules' 將運行模塊中的全局代碼,而不導入任何值。
  • import的形式需要export的支持,比如 import defaultName from 'module.js 將導出 在modules.js中export default的對象或值。

export

如上,export也是es6的內(nèi)容,和import是一對。

export的幾種用法

export { name1, name2, …, nameN };
export { variable1 as name1, variable2 as name2, …, nameN };
export let name1, name2, …, nameN; // also var
export let name1 = …, name2 = …, …, nameN; // also var, const
export function FunctionName() {...}
export class ClassName {...}
export default expression;
export default function (…) { … } // also class, function*
export default function name1(…) { … } // also class, function*
export { name1 as default, … };
export * from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;

export用法解釋

  • 命名導出

比如:

<!--module.js-->
const ex1 = 'xxx';
const fun = function() {...}
export { ex1, fun as demoFun};
export let ex2 = 'demo';
export function multiply(x, y) {
  return x * y;
};

對應(yīng)的import 寫法

<!--main.js-->
import { ex1, demoFun, ex2, multiply } from 'module.js';
  • 默認導出

export 命名導出需要export 名字和import名字嚴格一致。而export default命令,為模塊指定默認輸出,在import 的時候可以隨意命名名字。一個模塊只能有一個默認輸出,也就是說 export default 一個模塊只能用一次。
用法:

// a.js 輸出一個默認函數(shù)
export default function add(x, y) { return x + y; }
import anyName from 'a.js';
// b.js 輸出一個默認變量
let name = 'b.js';
export default name;
import anyName from 'b.js'
// c.js 輸出一個類
export default class { ...}
import anyClass from 'c.js';
// d.js  輸出一個值
export default 1;
import value from 'd.js'
  • export 和 import 混合使用(模塊重定向)

也就是在一個模塊之中,先輸入后輸出同一個模塊。比如:
如:

<!--命名導出 引入的命名導出-->
export { foo, bar } from 'my_module';
// 等價為,值得注意的是 在該模塊中不能直接使用 foo 和 bar。
import { foo, bar } from 'my_module';
export { foo, bar };
export * from  './other-module';  // 導出所有方法,但注意此種方法不會到導出module.js中的默認導出變量。
// 導出 默認導出用下面寫法
export {default} from './other-module';

參考

阮一峰 Module的語法
MDN import 命令
MDN export 語法

到此這篇關(guān)于javascript中import和export用法總結(jié)的文章就介紹到這了,更多相關(guān)js import和export用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript數(shù)組的一些奇葩行為

    JavaScript數(shù)組的一些奇葩行為

    今天,復習了一下JavaScript的數(shù)組,然后,把他的一些奇葩行為總結(jié)了一下,分享在腳本之家平臺,歡迎大家參考
    2016-01-01
  • 微信小程序常用表單組件的使用詳解

    微信小程序常用表單組件的使用詳解

    本文主要為大家介紹了微信小程序中常用的幾個表單組件的使用方法,例如:button、CheckBox、input、form等,感興趣的可以了解一下
    2022-03-03
  • JS限制文本框只能輸入數(shù)字和字母方法

    JS限制文本框只能輸入數(shù)字和字母方法

    這篇文章主要介紹了JS限制文本框只能輸入數(shù)字和字母方法,本文給出了限制只能輸入數(shù)字、限制只能輸入字母、限制只能輸入數(shù)字和字母3種腳本,需要的朋友可以參考下
    2015-02-02
  • JS+Canvas實現(xiàn)五子棋游戲

    JS+Canvas實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細介紹了原生JS+Canvas實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 微信小程序如何調(diào)用圖片接口API并居中顯示

    微信小程序如何調(diào)用圖片接口API并居中顯示

    這篇文章主要介紹了微信小程序如何調(diào)用圖片接口API并居中顯示,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • 詳解js 創(chuàng)建對象的幾種方法

    詳解js 創(chuàng)建對象的幾種方法

    這篇文章主要介紹了js 創(chuàng)建對象的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 微信小程序結(jié)合Storage實現(xiàn)搜索歷史效果

    微信小程序結(jié)合Storage實現(xiàn)搜索歷史效果

    這篇文章主要為大家詳細介紹了微信小程序結(jié)合Storage實現(xiàn)搜索歷史效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • ES6中Class類的靜態(tài)方法實例小結(jié)

    ES6中Class類的靜態(tài)方法實例小結(jié)

    這篇文章主要介紹了ES6中Class類的靜態(tài)方法,結(jié)合實例形式簡單總結(jié)分析了ES6中class類中靜態(tài)方法的使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-10-10
  • JS 連鎖泡泡 v1.1

    JS 連鎖泡泡 v1.1

    前幾天在朋友的iPhone上面玩了一個連鎖泡泡游戲,頭腦發(fā)熱就想用js寫一個。
    2009-09-09
  • JS中幾種實用的跨域方法原理詳解

    JS中幾種實用的跨域方法原理詳解

    js跨域是指通過js在不同的域之間進行數(shù)據(jù)傳輸或通信,只要協(xié)議、域名、端口有任何一個不同,都被當作是不同的域,在這篇文章中講給大家介紹一下js中幾種實用的跨域方法原理,需要的朋友可以參考下
    2023-06-06

最新評論

林甸县| 芷江| 白玉县| 诸城市| 修武县| 湘阴县| 光泽县| 株洲县| 海丰县| 辉南县| 固阳县| 门源| 会泽县| 辉县市| 辽阳市| 泰来县| 桓台县| 山阴县| 陇川县| 本溪| 顺平县| 花莲市| 全椒县| 长白| 遵义市| 包头市| 信阳市| 青浦区| 武清区| 苏尼特左旗| 五寨县| 花莲市| 八宿县| 大田县| 旅游| 鸡西市| 英山县| 丹江口市| 深圳市| 海阳市| 睢宁县|