我在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参数猜测页面?我该怎么办?
答案 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也可能有所帮助。