export 與 export default


export 和 import 都屬於 ES6 的內容。

node 的 module 遵循的是 CommonJS規范,requirejs遵循AMD,seajs遵循CMD,雖各有不同,

但總之還是希望保持較為統一的代碼風格。

 

ES6發布的 module 並沒有直接采用 CommonJS,甚至連 require 都沒有采用,也就是說 require 

仍然只是 node 的一個私有的全局方法, module.exports 也只是 node 私有的一個全局變量屬性,

跟標准半毛錢關系都沒有。

 

export 與 export default 區別:

1. 使用export導出的話,必須使用 { } 來接收。

2. 一個文件中,可以有很多個 export, 但只能有一個 export default。

示例:

demo1.js :

export let A = 123;
export function test() {
    console.log('test');
}
export class Hello {
    test () {
        console.log('class');
    }
}

demo2.js:

import { A, test, Hello} from './demo1'
console.log(A, test, Hello);

需要哪一項,就拿哪一項,

import {A} from './demo1';
console.log(A);

 導出別名

import * as lesson from './demo1';
console.log(lesson.A,lesson.test);            //lesson是個對象                 

 

另外一種寫法:(推薦這種寫法)

demo1.js:

let A = 123;
let test = function () {
    console.log('test');
}
class Hello{
    test () {
        console.log('class');
    }
}

export default {
    A,
    test,
    Hello
}

 demo2.js:

import lesson from './demo1';          //lesson可以寫任何名稱
console.log(lesson.A)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM