我正在使用新的Web框架,动态导入不应该进行默认导出吗?那么如何使用默认导出来做到这一点?
哈哈。
import app from "../trap/app.ts";
//some code
export default app;
XD.ts
import app from "./lol.ts";
declare global {
interface Window {
Log: any;
}
}
export default class ServiceProvider {
protected app: any;
protected log: any;
constructor(){
this.app = app;
}
}
WTF.ts
import ServiceProvider from "../XD.ts";
export class WTFProvider extends ServiceProvider {
register(){
console.log("Register");
(<any>window).Log = "Greets from register";
}
boot(){
console.log("Boot");
console.log((<any>window).Log);
}
}
我不能在动态导入中调用WTFProvider,如果
哈哈。
constructor(){
this.app = app;
}
但是如果我删除它
constructor(){
}
动态导入代码基本上只是基本的动态导入
let filePath = this.providerPath + providerName + '.ts';
let checkFile = await this.exists(filePath);
if (checkFile) {
let importedController = await import("file://" + filePath);
let provider = new importedController[providerName]();
this.purpose.push({
name: provider.constructor.name,
value: provider
});
}else{
console.log(error("Provider " + providerName + " doesn't exist!"))
}
动态导入有效!