1. 程式人生 > >import和export的用法

import和export的用法

import

概念 : 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 : 將引用模組預設匯出的名稱。

如:

匯出:export default Index

匯入: import defaultExport from './Index'

那麼:defaultExport代表 Index(預設匯出的名稱)

module-name : 要匯入的模組。這通常是包含模組的.js的相對或絕對路徑名,不包括.js副檔名。某些打包工具可以允許或要求使用該擴充套件;檢查你的執行環境。只允許單引號和雙引號的字元。

name : 引用時將用作一種命名的空間的模組物件的名稱

export,exportN :要匯入的匯出名稱。

export

概念 :

 用於在建立JavaScript模組時,從模組中匯出函式、物件或原始值,一邊其他程式可以通過import語句使用它們。

語法:

   `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 …;`

有兩種不同的匯出方式,每種方式對應於上述的一種語法: 1.命名匯出

`export default function() {}`

如:

匯出:

//module "index.js"

`function myFunction(x) {
  return x*2;
}
const a = 4;
export { myFunction,a };`

匯入: import { myFunction, a } from 'index.js'; console.log(myFunction(3)); // 6 console.log(a); // 4

2.預設匯出(函式/類)

`export default function() {}`

`export default class {}`

如(函式): 匯出:

 `// module "index.js"
export default function myFunction(x) {
  return x*x;
}`

匯入:

    `// module "index.js"
    import myFunction from 'index.js';
    console.log(myFunction(3)); // 9`