Monterey User Manual
  • Introduction
  • What is Monterey
  • Quick guide through the User manual
  • Monterey and module loaders
  • Monterey future plans
  • Installing Monterey
  • Help system
    • Live tour
    • Tooltip based help
  • Features
    • App launcher
    • Aurelia-CLI
    • Dotnet
    • GistRun
    • Error logger
    • Gulp
    • JSPM manager
    • NPM manager
    • Preferences
    • Project info
    • Run
    • Support
    • Task manager
    • Terminal
    • Typings
    • Webpack
    • Workflow manager
  • Creating new applications
    • Aurelia-CLI
      • Default-ESNext
      • Default-TypeScript
      • Custom
    • skeleton-esnext-aspnetcore
    • skeleton-esnext-webpack
    • skeleton-esnext
    • skeleton-typescript-aspnetcore
    • skeleton-typescript-webpack
    • skeleton-typescript
    • GitHub
      • Contact manager tutorial
      • CM tutorial - KendoUI edition
        • Differences from the original version
      • CM tutorial - Materialize edition
        • Differences from the original version
  • Managing existing applications
  • Reaching support
Powered by GitBook
On this page
  • Monterey and module loaders
  • Introduction
  • Monterey's support for module loaders
  • Summary

Monterey and module loaders

PreviousQuick guide through the User manualNextMonterey future plans

Last updated 7 years ago

Introduction

Monterey and module loaders

Introduction

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:

We recommend scanning the article to refresh / improve your understanding of the purpose and use of this technology.

Monterey's support for 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.

In one of its roles as the application generator (see for more information on this subject) Monterey is acting as the GUI for the application generator. Since Aurelia-CLI supports only the RequireJS module loader, this also reduces Monterey's support for module loaders to RequireJS only. In other words: if you wish to generate an aurelia-cli application via Monterey, you will by default use the RequireJS module loader - until Aurelia-CLI expands its support for module loaders.

Realizing the this restriction will severely impact Monterey's functionality, declared as the tool to and any Aurelia applications, we added the ability to create applications from the repository:

Summary

Going even further, we added the support to use any Aurelia application residing in GitHub - see 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 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 . 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 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.

RequireJS
Browserify
Webpack
SystemJS
WHATWG
History and Background of JavaScript Module Loaders
How ES6 Generators are changing the way we write Javascript
Aurelia-CLI
create
maintain
Aurelia starter kits
ESNext Skeletons
TypeScript Skeletons
this section
Aurelia-CLI application generator
Aurelia-CLI application generator
Aurelia starter kits repository