標題說明了一切。我正在開發的項目不是一個單一的頁面應用程序,也沒有任何暗示任何複雜的數據流或AJAX請求,但我想保持我的代碼清潔,避免錯誤以及不必要地引發不會發生的功能要在應用程序的頁面上使用,所以我需要考慮它的體系結構。在特定頁面上執行特定JS腳本的最佳實踐
試想一下,我們宣佈一個應用程序的命名空間:
var MYAPP = MYAPP || {}
然後我會初始化包含腳本使用頁面上的模塊:
var currentSection = w.location.pathname;
switch (currentSection) {
case "/":
return MYAPP._home = new _Home();
case "contacts":
return MYAPP._contacts = new _Contacts();
default:
return console.log('Unknown template');
}
在上面的例子中我使用URL的一部分來定義哪個模塊將被使用,但我覺得它不是很可靠,因爲如果我們改變URL,那麼我們也需要相應地改變一些代碼,否則它將不起作用。一個那是在PHP文件定義的模板處理另一種方式,所以它可能是這樣的:
<script>
var MYAPP = MYAPP || {};
MYAPP.template = 'contacts';
</script>
並略微改變的代碼,我在前面的例子中使用:
switch (MYAPP.template) {
case "/":
return MYAPP._home = new _Home();
case "contacts":
return MYAPP._contacts = new _Contacts();
default:
return console.log('Unknown template');
}
有沒有更好的解決方案?如果信息很重要,我們在後端開發中使用Apache2 + PHP。