import * as 的聚合與分離

     

以爲Es6,javascript第一次支持了module。ES6的模塊化分爲導出(export)與導入(import)兩個模塊,其中在項目中,我們會經常看到一種用法import * as obj from,這種寫法是把所有的輸出包裹到obj對象裏。

示例一:

// index.js
export function fn1(data){
  console.log(1)
}
export function fn2(data){
  console.log(2)
}

import * as Fn from './index.js'
Fn.fn1()  // 1
Fn.fn2()  // 2

 示例二:

// test.js
let myName = "Jon";
let myAge = 18;
let myfn = function(){
    return "我是"+myName+"!今年"+myAge+"歲了"
}
export {
    myName as name,
    myAge as age,
    myfn as fn
}


import {fn,age,name} from "./test.js";
console.log(fn()); //我是Jon!今年19歲了
console.log(age); //19
console.log(name); //Jon


// 或者

import * as info from "./test.js"; //通過*來批量接收,as 來指定接收的名字
console.log(info.fn()); //我是Jon!今年18歲了
console.log(info.age); //18
console.log(info.name); //Jon

示例三:

       重命名export和import,如果導入的多個文件中,變量名字相同,即會產生命名衝突的問題,爲了解決該問題,ES6爲提供了重命名的方法,當你在導入名稱時可以這樣做。

/*************test1.js*****************/
export let myName = "我來自test1.js";
/*************test2.js*****************/
export let myName = "我來自test2.js";

/*************index.js****************/
import {myName as name1} from "./test1.js";
import {myName as name2} from "./test2.js";
console.log(name1); //我來自test1.js
console.log(name2); //我來自test2.js

轉自:https://www.weipxiu.com/3767.html 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章