我的网页有不同的js组件,可以处理不同的业务逻辑。我正在使用RequireJS来管理依赖项。我想动态加载所需的组件。
例如:
define(['something'],function(something){
var processor;
if(userRole === "student"){
//I want to dynamically load studentProcessor.js here;
}
else if(userRole === "teacher"){
//I want to dynamically load teacherProcessor.js here;
}
processor.process();
});
真的很感激,如果有人能告诉我处理这件事的最佳方法是什么。
答案 0 :(得分:3)
我认为最简单的处理方法是从用户角色到处理器的映射。
然后在您的函数中,您仍然需要检查是否已设置userRole
,并且已定义角色的处理器。
// This is where processors are associated to user roles.
var roleToProcessorMapping =
{
student: './studentProcessor.js',
teacher: './teacherProcessor.js'
};
define(['something'],function(something){
if(userRole){
var processorPath = roleToProcessorMapping[userRole];
if(processorPath){
require([processorPath], function(processor){
processor.process();
});
return;
}
}
// handle error
});