配置aurelia cli以从子文件夹

时间:2016-08-02 10:13:14

标签: aurelia aurelia-cli

如何配置aurelia cli以允许从子文件夹(视图中的mvc控制器)加载应用程序?

/MyController/MyView我有以下代码

<div aurelia-app="main" data-module="app2">
     <script src="/scripts/vendor-bundle.js" data-main="aurelia-bootstrapper"></script>
</div>

当加载程序尝试从/MyController/MyView/scripts/app-bundle.js加载应用程序包时,我得到了404,但实际位置为/scripts/app-bundle.js

感谢您的帮助

Larsi

提问的动机: 我在现有的asp.net mvc 5网站上使用Aurelia。我们计划开发新页面作为小型aurelia应用程序(每个mvc视图一个aurelia应用程序)。我们计划在所有视图上重用相同的包(只需设置“aurelia.setRoot('nameofapp')”即可启动正确的应用程序)。这似乎在'/'启动时效果很好,但是当从'/ MyController / MyView'启动时,我们需要修改app-bundle加载的位置 - 这就是这个问题的关键。

2 个答案:

答案 0 :(得分:4)

需要做两件事:

  • 在'aurelia.json'中设置'build.targets.baseUrl:'.. / scripts'
  • 使用Matthew建议的“功能”。

我认为其他人可能需要此设置,因此我在此处创建了一个存储库:https://github.com/larserikfinholt/aurelia-subfolder

Larsi

答案 1 :(得分:3)

使用&#34;功能&#34;

main.js aurelia引导程序文件中,您可以这样写:

main.js

configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .feature('my-app');
}

这将指示aurelia将my-app/index.js作为插件加载,将aurelia对象公开给configure()函数,就像在main.js文件中一样。你可以在那里做各种有趣的事情,包括设置根视图模型。

我应用内/ index.js

configure(aurelia) {
  aurelia.start().then(() => aurelia.setRoot('my-app/app.js'));
}