1) バックエンドで使用する言語は何ですか?
スクリプト構成をデータベースまたは構成ファイルに保持できます。(例: ページには、 、、およびなどのpage1
モジュールがあります)。module1
module2
module4
<script>
ページにタグを生成するための php テンプレート ファイルがあります。
<script src="http://requirejs.org/docs/release/1.0.1/minified/require.js"></script>
<script>
require([
<?php echo "'". implode("',\n\t'", $this->scripts) . "'\n"; ?>
], function(a){
function run(page) {
if ( window.hasOwnProperty(page) ) {
window[page].start();
}
}
var page = '<?php echo $this->page; ?>';
run('all'); // activating scripts needed for every page
run(page); // and for current page
});
</script>
PS スクリプトは window[page] 変数を要求しています。つまり、ページ用のすべての .js スクリプト (たとえばindex.js
、index
ページ用) がwindow.index
変数を作成しているということです。(私は知っています、それはあまり良くありません-PPSを読んでください;))
PPS私はrequireJSの初心者です(今日だけ知っていました)、それは私の最初のドラフトであり、別の方法で作成すると思います:
2)今のところ概念として:)スクリプトをAMDモジュールとして保持します(通常のスクリプトではなく、requireJSのモジュールとして)。.json
ファイルに保持できるモジュール マップ:
{
'index' : [ 'news', 'banners' ],
'contacts' : [ 'maps', 'banners', 'donate' ],
'otherpage' : [ 'module1', 'module2' ]
}
ページ名またはページ ID を に渡す必要がありますmain.js
(この値は DOM 要素、サイトのテンプレート、またはテンプレート変数で渡すことができます)。main.js
ページ名を知っているので、modules.json
ファイルをロードします。特定のモジュールとrequires
それらを取得します。
main.js
また、すべてのページで必要な依存関係を保持することもできます (たとえば、jquery、一部の jquery プラグインなど) (jquery プラグインはモジュールとしてラップすることをお勧めします)
PS私の英語でごめんなさい