如何使用Aurelia加载Main.js中的所有依赖项?

时间:2016-12-05 16:56:41

标签: aurelia

所以我按照以下方式设置了我的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);
        }    
    }

1 个答案:

答案 0 :(得分:4)

您可以在应用程序的任何模块中导入所有依赖项。不过,我不确定会有什么结果。这只会让您的应用程序启动变慢,并且不会真正提供任何好处。 Aurelia使用延迟加载模块。如果要在启动时加载应用程序的所有代码,只需捆绑应用程序。