1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
您的直覺是比較 URL 來決定要運(yùn)行的初始化是一種糟糕的編碼方式是正確的。這不是一個(gè)好的模式,隨著越來越多的頁面和維護(hù)隨著時(shí)間的推移會(huì)變得非常痛苦,很快就會(huì)失去控制。
相反,您可以將公共代碼放在每個(gè)頁面都加載的共享 JS 文件中,以便可以根據(jù)需要使用這些功能。然后,在每個(gè)單獨(dú)的頁面內(nèi)使用內(nèi)聯(lián)<script>
標(biāo)記來執(zhí)行特定于頁面的初始化,設(shè)置特定于該頁面的事件偵聽器并調(diào)用共享 JS 文件中的代碼。
如果對(duì)于某些頁面,您有很多頁面特定的初始化代碼,您可以只將這些頁面特定的代碼放在頁面特定的 JS 文件中,但通常您不希望每個(gè)頁面都有一個(gè)外部 JS 文件如果可以避免,請(qǐng)?jiān)L問您的頁面。嘗試將大部分代碼放在通用 JS 文件中,然后在每個(gè)特定頁面中只使用一小部分內(nèi)聯(lián)代碼來進(jìn)行正確的初始化。這會(huì)將您的大部分代碼放在一個(gè)通用的共享 JS 文件中,并在特定頁面中保留特定于頁面的初始化邏輯。
每個(gè)頁面都應(yīng)該有單獨(dú)的 js 文件嗎?我的問題是我必須復(fù)制所有頁面上使用的通用代碼。
不。您不想在單獨(dú)的 JS 文件中復(fù)制大量代碼,因?yàn)槟鞘蔷S護(hù)的噩夢(mèng)并且會(huì)破壞有效的瀏覽緩存。
添加回答
舉報(bào)