javascript中導出與導入實現(xiàn)模塊化管理教程
在理想情況下,開發(fā)者只需要實現(xiàn)核心的業(yè)務邏輯,其他都可以加載別人已經(jīng)寫好的模塊。但是,在ES6以前,JavaScript一直沒有自己模塊體系(module),無法將一個大程序拆分成互相依賴的小文件,再用簡單的方法拼裝起來。如果要想在前端做模塊化開發(fā),必須依賴第三方框架來實現(xiàn),如:requireJS與seaJS。
javascript中的導出和導入實現(xiàn)模塊化管理
requireJS是AMD規(guī)范的起源,seaJS是CMD規(guī)范的起源,由于兩者功能高度重合,后來seaJS不再維護,從此淡出人們的視野,于是requireJS一家獨大,直到ES6的出現(xiàn),且迅速成為前端和服務器端通用的模塊解決方案,完全可以取代AMD 規(guī)范和NodeJS支持的CommonJS 規(guī)范。
ES6中首次引入模塊化開發(fā)規(guī)范ES Module,讓JavaScript首次支持原生模塊化開發(fā),使用 export 和 import 關鍵字進行模塊化開發(fā)。
1 export:用于對外輸出本模塊
方法1 聲明時直接導出
export var str = '1';
export function func1() {
return 'hello word'
}
export const func2 = () => {
// 箭頭函數(shù)導出
return 'hello word'
}
方法2 統(tǒng)一在最后導出
var str = '1';
function func1() {
return 'hello word'
}
const func2 = () => {
return 'hello word'
}
export {
str,
func1,
func2,
}
方法3 起別名
var str = '1';
function func1() {
return 'hello word'
}
const func2 = () => {
return 'hello word'
}
export {
str as str1,
func1 as f1,
func2 as f2,
}
方法4 對導入的方法直接導出
這種方法常用于統(tǒng)一文件導出
// 這是一個utils.js 導出一個變量兩個方法
var str = '1';
function func1() {
return 'hello word'
}
const func2 = () => {
return 'hello word'
}
export {
str as str1,
func1 as f1,
func2 as f2,
}
// 這是引用utils.js的文件-config.js
export {str,func1,func2} from ‘./config.js'
方法5 默認導出(default)
這種導出方式一個js文件只能有一個default,所以它后面不能跟變量聲明語句。
export default function() {}
方法6 導出類
// 這是一個utils.js 導出一個變量兩個方法
export class utils {
format(){
// 類方法1
};
cheackData(){
// 類方法2
}
}
// 調(diào)用utils文件中
import {utils} from ‘./utils.js'
const utils = new utils();
utils.format();
utils.cheackData();
2 import:用于在模塊中加載含有export接口的模塊
方法1 直接導出
import {str,func1,func2} from ‘./utils.js'
方法2 起別名
這種情況一般用于導入的兩個或者多個模塊中存在相同的導入內(nèi)容
import {str as str1,func1 as f1,func2 as f2} from ‘./utils.js'
方法3 一次導入文件中所有
import * as utils from ‘./utils.js' utils.str utils.func1 utils.func2
方法4 導入使用default方式導出的模塊
import utils from ‘./utils.js'
到此這篇關于javascript中導出與導入實現(xiàn)模塊化管理教程的文章就介紹到這了,更多相關javascript導出與導入模塊化管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
兼容IE/Firefox/Opera/Safari的檢測頁面裝載完畢的腳本Ext.onReady的實現(xiàn)
其中對于IE的檢測很有意思。 以上代碼,整理自Extjs的腳本,完全可以代替 Ext.onReady使用。2009-07-07
javascript使用Blob對象實現(xiàn)的下載文件操作示例
這篇文章主要介紹了javascript使用Blob對象實現(xiàn)的下載文件操作,結(jié)合實例形式分析了javascript使用Blob對象下載文件相關原理、操作技巧與注意事項,需要的朋友可以參考下2020-04-04

