我正在使用Sage 9开发WordPress主题,并试图将文件拆分为更干净的代码,以获得更干净的代码。我正在使用webpack在本地捆绑JavaScript。
有一个设置为仅在某些页面上运行JavaScript的路由器。但是,当我尝试将文件内容导入为常量时,它是全局范围的,并在首页上引起问题。以下示例应更好地说明:
// formPage.js (the init function is only run on the form page)
import { validateAge } from '../modules/validateAge';
export default {
init() {
// Javascript to be fired on the form page
new validateAge();
},
};
// ../modules/validateAge.js
export const validateAge = Marionette.Object.extend({
...
}
如何在不将木偶对象置于全局范围内的情况下重写它?这在主页上失败,因为“木偶”依赖项仅加载在表单页面上(与捆绑包分开),而不是主页上。
答案 0 :(得分:0)
好吧,我通过导出为函数而不是常量来解决此问题,因此对Marionette调用进行了范围界定。