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...