es6-模塊化

概念
模塊化是指將一個(gè)大的程序文件,拆分成許多小的文件,然后將小文件組合起來。

好處

1、防止命名沖突
2、代碼復(fù)用
3、高維護(hù)性

規(guī)范產(chǎn)品
es6之前的模塊化規(guī)范有:

1、CommonJS => NodeJS、Browserify
2、AMD => requireJS
2、CMD => seaJS

語法
模塊功能主要由兩個(gè)命令構(gòu)成:exportimport

1、export命令用于規(guī)定模塊的對(duì)外接口---暴露
2、import命令用于輸入其他模塊提供的功能---引入

//js
export let name = `名字`;
export function change() {
    console.log(`修改名字`);
}
//引入
<script type="module">
     import * as m1 from "./m1.js";
     console.log(m1);
</script>

除了直接在script標(biāo)簽內(nèi)引入,還可以在js文件內(nèi)引入

注意:html和js文件不要用module命名,以及module1等也不可以

暴露方式
1、分別暴露,直接在屬性或方法前加export關(guān)鍵字
2、統(tǒng)一暴露,例如

export{name,change};

3、默認(rèn)暴露

export default {
    price: `30w`,
    changePrice: function () {
        console.log(`修改價(jià)格`);
    }
}

引入方式
1、通用方式:

import * as m1 from "./m1.js";

2、解構(gòu)賦值形式

import {name,change} from "./m1.js";
import {default as m2} from "./m2.js";

注意:名字重復(fù)或default 都可以使用as修改變量或函數(shù)名
3、簡便形式,只能用于默認(rèn)暴露

import m2 from "./m2.js";

babel對(duì)模塊化代碼轉(zhuǎn)換
1、安裝工具

npm i babel-cli babel-preset-env browserify -D
yarn add @babel/cli  @babel/preset-env --dev
yarn add browserify

2、轉(zhuǎn)換

npx babel es6 -d lib

es6是要轉(zhuǎn)換的文件夾,lib是目標(biāo)文件夾

3、打包

npx browserify lib/fs.js -o dist/bundle.js

模塊化進(jìn)入NPM包
1、安裝

yarn add jquery

2、es6js寫入

import $ from 'jquery';
$('body').css('background','pink');

注意
1、引入時(shí)不能使用模版字符串
2、jquery本地化無法直接使用,需要

3、使用bablees6里的模塊代碼轉(zhuǎn)換到lib文件夾

npx babel es6 -d lib

4、使用browserify進(jìn)行打包

npx browserify lib/app.js -o dist/bundle.js

5、最后html文件內(nèi)引入

<script src="/dist/bundle.js"></script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容