ES6學習筆記之ES6中的模組

2021-10-03 15:42:43 字數 1728 閱讀 7988

1 import和export基本使用

重點:在es6中新增了js檔案的暴露和引入的新寫法:(import和export)

node                     es6

require

() → import

exports.

*** → export

module.exports → default

使用export const 暴露函式名暴露函式,import {} from 「./路徑」; 接收函式。

注意兩個問題:

l 暴露時是什麼名字,接收時一定是什麼名字,比如暴露的是mianji,接收就叫mianji。

路徑必須「./」開頭

2命名空間

兩個js檔案同時向外外暴露兩個相同名字的函式會報錯,因為函式名重複了:

解決方法就是命名空間:用import * as fang from 「./路徑」; 來接收函式

import

*as yuan from

"./yuan.js"

;import

*as fang from

"./fang.js";

console.

log(yuan.

mianji(10

))console.

log(fang.

mianji(10

))

此時函式必須通過yuan打點,或fang打點呼叫,因為接收到的是乙個json。

也就是說import * as fang from 「./檔案」;的語法,可以有效避免函式的名字衝突。

注意:import * as的這個名字,必須和檔名相同。

3.預設暴露

如果js檔案中是乙個類(建構函式),此時不希望有命名空間,用預設暴露:

export

default

相當於nodejs中的module.exports

比如寫乙個檔案叫people.js這個檔案向外暴露乙個類:

export

default

class

people

change()

,今年$`)

}}

在主入口檔案,就不用{}引用這個類:

import people from

"./people.js"

;//類叫什麼名字,import後就叫什麼名字

乙個檔案可以有多個普通暴露,但是只能有乙個預設暴露

注意:引入時,接收預設的暴露,不能加{},接收普通暴露的加{}

import people,

from

"./people.js"

;

暴露模組:

引用模組:

ES6模組學習筆記

1.目前其實我們所用到的import都是通過babel轉成require的,瀏覽器則是通過webpack等打包工具將這些 打包成乙個個檔案的 commonjs var b require b console.log b.a settimeout 1000 let a 1 settimeout a 2...

es6 模組化(es6學習筆記07)

模組化 是指將乙個大的程式檔案,拆分成許多小的檔案,然後將小檔案組合起來。功能模組主要由兩個命令構成 export和import 1.2.1 export 使用 1.分別暴露 export let book 西遊記 export function like 2.統一暴露 let book 西遊記 f...

ES6學習筆記

let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...