[英]ES6 Module loader to resolve symbolic references
我们正在尝试创建一个ES6加载器,以使用对模块的符号引用,而不是使用格式正确的URI或导入语句中的路径。 例如,这样的导入:
import { foo } from 'com.bussines.platform.utils';
应该将符号引用com.bussines.platform.utils
为一个真正的uri,并继续进行常规加载过程以获取foo
。
为了实现我们所使用的这个目标es-module-loader
填充工具通过@guybedford开发。 因为我们在浏览器上下文中,所以我们创建了一个委托给BrowserESModuleLoader
的加载器:
class CustomBrowserLoader extends RegisterLoader {
constructor(Loader) {
super();
this.loader = new BrowserESModuleLoader();
}
[RegisterLoader.resolve] (key) {
let uri = Resolve (key)
return this.loader[RegisterLoader.resolve] (uri); // (1)
}
[RegisterLoader.instantiate] (uri) {
return this.loader[RegisterLoader.instantiate] (uri); // (2)
}
}
问题在于,令人惊讶的是,在第(1)和(2)行的调用未找到所需的方法resolve
和instantiate
。 我们尝试了基于继承的其他方法,但是得到了相似的结果。
¿任何人都可以提供有关如何解决问题的见解吗? 提前致谢。
加载程序是单独的版本,因此我认为您希望将BrowserESModuleLoader.resolve和BrowserESModuleLoader.instantiate在这里。
最好直接分支浏览器ES Module Loader代码本身,并改编它直接处理这些类型的说明符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.