所以我按照以下方式设置了我的Aurelia应用程序,我想在Main.js中导入所有模块和依赖项,并且仍然可以在Start.js等模块中注入依赖项。我还想显示一个等待所有内容都加载的启动画面。这有可能吗?
main.js
import 'bootstrap';
// TODO: Import all modules here
// import {inject} from "aurelia-framework";
// import {PortalData} from "./portalData";
object export function configure(aurelia){
aurelia.use
.standardConfiguration()
.developmentLogging();
// start aurelia and navigate to app.html / app.js
aurelia.start().then(a=> a.setRoot());
}
app.js
export class App {
// aurelia convention
configureRouter(config, router)
{
this.router = router;
config.map([
{
route:["", "home"],
moduleId:"./start",
title:"SevaLink",
nav:true
}
start.js
import {inject} from "aurelia-framework";
import {PortalData} from "./portalData";
@inject(PortalData)
export class Start {
constructor(portalData){
this.portalData = portalData;
}
activate(){
return this.portalData.getApplications()
.then(apps => this.applications = apps);
}
}
答案 0 :(得分:4)
您可以在应用程序的任何模块中导入所有依赖项。不过,我不确定会有什么结果。这只会让您的应用程序启动变慢,并且不会真正提供任何好处。 Aurelia使用延迟加载模块。如果要在启动时加载应用程序的所有代码,只需捆绑应用程序。