使用ES6中的模塊化在頁(yè)面引入另一個(gè)模塊
在JavaScript新標(biāo)準(zhǔn)ES6中,有一個(gè)重要的新增功能——模塊化。通過(guò)模塊化可以在頁(yè)面中直接引入一個(gè)模塊,也可以在一個(gè)JS文件引入另一個(gè)模塊。下面將利用一個(gè)具體的實(shí)例來(lái)說(shuō)明如何引入自定義的模塊。
在JavaScript新標(biāo)準(zhǔn)ES6中,有一個(gè)重要的新增功能——模塊化。通過(guò)模塊化可以在頁(yè)面中直接引入一個(gè)模塊,也可以在一個(gè)JS文件引入另一個(gè)模塊。下面將利用一個(gè)具體的實(shí)例來(lái)說(shuō)明如何引入自定義的模塊。
第一步:創(chuàng)建自定義模塊
首先,我們需要雙擊打開(kāi)HBuilder編輯工具,然后新建一個(gè)JS文件,并命名為person.js。在該文件中,我們可以定義一個(gè)class,并添加構(gòu)造函數(shù)和方法showUserName。具體代碼如下:
class Person {
constructor() {}
showUserName(name) {
console.log(name);
}
}
export default Person;
第二步:創(chuàng)建靜態(tài)頁(yè)面
接下來(lái),我們需要新建一個(gè)HTML5模板文件,命名為。在該文件中,我們將引入上一步創(chuàng)建的person.js模塊。具體代碼如下:
lt;!DOCTYPE htmlgt;
lt;htmlgt;
lt;headgt;
lt;titlegt;Person Module Examplelt;/titlegt;
lt;script type"module" src"person.js"gt;lt;/scriptgt;
lt;/headgt;
lt;bodygt;
lt;script type"module"gt;
import Person from './person.js';
const person new Person();
('John Doe');
lt;/scriptgt;
lt;/bodygt;
lt;/htmlgt;
第三步:引入模塊并調(diào)用方法
現(xiàn)在,我們返回到person.js文件中,將showUserName方法修改為不再接受參數(shù)name,并使用console.log()打印name。具體代碼如下:
class Person {
constructor() {}
showUserName() {
const name 'John Doe';
console.log(name);
}
}
export default Person;
接著,在HTML5靜態(tài)頁(yè)面中,使用import關(guān)鍵字導(dǎo)入person.js模塊,并直接調(diào)用showUserName方法。然后在瀏覽器中預(yù)覽效果,可能會(huì)出現(xiàn)報(bào)錯(cuò)。這是因?yàn)闉g覽器默認(rèn)不支持ES6模塊化的語(yǔ)法。
第四步:解決瀏覽器報(bào)錯(cuò)
為了解決瀏覽器報(bào)錯(cuò)問(wèn)題,我們需要在HTML5靜態(tài)頁(yè)面中添加type"module"屬性,告訴瀏覽器該文件是一個(gè)模塊化的文件。具體代碼如下:
lt;!DOCTYPE htmlgt;
lt;htmlgt;
lt;headgt;
lt;titlegt;Person Module Examplelt;/titlegt;
lt;script type"module" src"person.js"gt;lt;/scriptgt;
lt;/headgt;
lt;bodygt;
lt;script type"module"gt;
import Person from './person.js';
const person new Person();
();
lt;/scriptgt;
lt;/bodygt;
lt;/htmlgt;
第五步:重新引入模塊并調(diào)用方法
現(xiàn)在,我們需要再次修改person.js文件中的showUserName方法。我們將方法的代碼改為返回一個(gè)固定的name值,并使用export關(guān)鍵字導(dǎo)出Person類。具體代碼如下:
class Person {
constructor() {}
showUserName() {
const name 'John Doe';
return name;
}
}
export default Person;
然后,在HTML5靜態(tài)頁(yè)面中,我們可以通過(guò)創(chuàng)建一個(gè)person對(duì)象并調(diào)用showUserName方法來(lái)獲取打印結(jié)果。具體代碼如下:
lt;!DOCTYPE htmlgt;
lt;htmlgt;
lt;headgt;
lt;titlegt;Person Module Examplelt;/titlegt;
lt;script type"module" src"person.js"gt;lt;/scriptgt;
lt;/headgt;
lt;bodygt;
lt;script type"module"gt;
import Person from './person.js';
const person new Person();
console.log(());
lt;/scriptgt;
lt;/bodygt;
lt;/htmlgt;