如何告诉requirejs只加载当前页面所需的javascript

时间:2012-06-06 17:54:12

标签: javascript jquery requirejs

我在wordpress插件中使用requirejs。我正在尝试使用它,以便只加载页面所需的javascript。 我的想法是有一个main.js文件加载当前页面的js,但我想知道如何告诉main.js要加载哪个文件。

require( 
    [ "pages/name-of-the-page" ], // How do i tell require that we are on page x?
    function( page ) { 
        page.start();
    }
);

我在考虑使用什么,也许我应该设置一个cookie服务器端,读取然后使用该数据?使用url参数猜测页面?我该怎么办?

1 个答案:

答案 0 :(得分:1)

在您的main.js中加载核心JS模块(因为它将在每个页面上加载)然后为每个页面require加载您需要的代码似乎更明智。

一种粗略的方法是检查wordpress当前加载的页面,然后将文件加载到那里:

<?php if (is_page('Contact')): ?>
<script>
    require(['scripts/pages/contact.js']);
    // Note use of a plain js file, and not a module
</script>
<?php endif; ?>

然后在 contact.js

require(['some/contact/module'], function(contact) {
    // do cool stuff
});

我介绍了a similar situation in this answer也可能有所帮助。