import和export的用法
阿新 • • 發佈:2018-12-22
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
概念 :
語法:
`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`