在ES6之前,JavaScript沒有子產品體系。無法将大程式拆分成互相依賴的小程式。子產品功能主要由兩個指令組成,export,import,Export用于暴露資料,import用于引入資料
一個子產品就是一個獨立的檔案,該檔案的所有變量,外部無法擷取,如果需要擷取某個變量,就要使用export把該變量暴露出去。
我們之前使用module.export的方式暴露資料,使用require導入 資料,采用require指令加載子產品時,所有輸出接口都會成為輸入對象的屬性
function test(){
console.log("大家好");
};
var num = 123;
let info = {
name:"張三吧",
age:12
}
export{ test,num,info}
将資料暴露出來,然後用import将資料引入
import{test,num,info} from ".js/test.js";
console.log()...... 這種效率高,用哪個引入那個就可以
再看下面的
function test(){
console.log("大家好");
};
var num = 123;
let info = {
name:"張三吧",
age:12
}
module.exports = {
t1 : test,
t2 : num,
t3:info
}
var a = require("./js/test.js");
使用require導入 資料,采用require指令加載子產品時,所有輸出接口都會成為輸入對象的屬性
注:export指令規定的是對外的接口,必須與子產品内部建立一一對應的關系
Export default指令
使用import指令是使用者需要知道所加載的變量或者函數名,否則無法加載,為了友善使用者,使其不用預先知道就能加載子產品,這是可以使用export default為模闆指定預設輸出
文法為 export default function text(){}
import t from ".js/test.js"
這時使用import導入時可以使用任意名稱指定js檔案的輸出方法
本質上export default就是輸出一個叫做Default的變量或方法,隻是系統容許我們為他任意取名