Book Image

Knockout.JS Essentials

Book Image

Knockout.JS Essentials

Overview of this book

Table of Contents (16 chapters)
KnockoutJS Essentials
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

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...