As your application grows in complexity, the classic approach to loading modules via the
<script> tags becomes undesirable. Just the fact that processing each
<script> tag creates a new http connection explains the need that lead to the creation and use of several module loaders:
Monterey is designed to be the preferred tool for development of complex Aurelia applications, so its ability to support all module loaders is of vital importance.
Realizing the this restriction will severely impact Monterey's functionality, declared as the tool to create and maintain any Aurelia applications, we added the ability to create applications from the Aurelia starter kits repository:
Going even further, we added the support to use any Aurelia application residing in GitHub - see this section for more details. This last approach will be used to provide the support for application developers that want to use Monterey to create applications with KendoUI, Materialize or Syncfusion bridges.
Monterey offers two different approaches to application generation - either using the Aurelia-CLI application generator or starting from some existing applications persisted in GitHub.
If you want to use Monterey to create your application from scratch, where the application structure is defined by your answers to the Aurelia-CLI wizard, you have to use the Aurelia-CLI application generator. This choice results with your application using the RequireJS module loader.
If using the RequireJS module loader is not an acceptable choice, you should consider using the above mentioned approach to create applications from the Aurelia starter kits repository or to use any Aurelia application residing in GitHub as the starting point. This will result with applications that use SystemJS or Webpack loader, depending on the choice of the starter kit.