Book Image

KnockoutJS Essentials

By : Jorge Ferrando, Jorge F Ferrando
Book Image

KnockoutJS Essentials

By: Jorge Ferrando, Jorge F Ferrando

Overview of this book

Table of Contents (16 chapters)
KnockoutJS Essentials
About the Author
About the Reviewers

Grouping code by feature – managing big projects

As you have seen in the main.js file, we are using Durandal conventions. This means that all our view-models lie in the viewmodels folder and all our views lie in the views folder. When we have a big project, having all the files in the same folder can be difficult to manage.

In this case, we remove the viewLocator.useConvention(); statement from the main.js file. This acts as an indication to Durandal that all the views are in the same folder as the view-model.

We are going to group our project by features. We will define these features in our project:

  • catalog

  • cart

  • order

  • product

  • shell

They will contain the code for each feature. Services, models, and other components will be as we had when we used conventions. Take a look at what the folders look like:

Files grouped by features

We need to update some code. The first step is to update the main folder, setting the new ID of the shell module:

app.setRoot('shell/shell', 'entrance');

Then we should do the...