更新時(shí)間:2022-11-10 來(lái)源:黑馬程序員 瀏覽量:
了解了模塊化后,同學(xué)們可能有些疑問(wèn),模塊化雖然有很多優(yōu)勢(shì),但是它具體解決了編程人員在開(kāi)發(fā)過(guò)程中的哪些問(wèn)題?下面看一下非模塊化開(kāi)發(fā)會(huì)遇到哪些問(wèn)題。
1.命名沖突
在多人協(xié)作開(kāi)發(fā)應(yīng)用,或者使用第三方開(kāi)發(fā)的JavaSerigpt庫(kù)的時(shí)候,通常會(huì)遇到命名沖突問(wèn)題,例如全局變量中名稱(chēng)重復(fù)會(huì)報(bào)錯(cuò),示例代碼如下:
var foo - *bat'; var Too = "bar't
另外,如果引用第三方的JavaScript庫(kù),在全局對(duì)象中聲明了一個(gè)屬性foo,自己的代碼中也會(huì)聲明同樣名稱(chēng)的屬性,兩者一同使用的時(shí)候,后加載的屬性值會(huì)替換之前的值,從而造成錯(cuò)誤。
模塊化開(kāi)發(fā)的優(yōu)點(diǎn)在于可以解決上述問(wèn)題、讓開(kāi)發(fā)人員能很好地與他人協(xié)同,程序方面進(jìn)行代碼復(fù)用。
2、文件依賴(lài)
在開(kāi)發(fā)過(guò)程中,可能需要很多文件依賴(lài),示例代碼如下:
<! DOCTYPE html> <html>head> <meta charset="UTF-8"><title>文件依賴(lài)</title></head> <body> <script src="./ccc.js"></script> <script src="./a.js"></script> <script src="./b.js"></script> <script src="./c.js"></script> <script src="./d.js"></script> <script src="./aaa.js"></script> </body> </html>
從上述代碼中,./aaa.js是依賴(lài)于./a.js文件的,但是從代碼上并不能看出這樣的關(guān)系。如果將./aaa.js與./a.js的前后位置調(diào)換,或者刪除./a.js文件,就會(huì)導(dǎo)致程序錯(cuò)誤。
而在模塊化開(kāi)發(fā)中,會(huì)使用JavaScript代碼來(lái)加載所需要的文件,并不需要將所有的文件引入到 HTML文件中。