Сижу разбираюсь в примерах с англо-язычных сайтов ...
В app.js (MVVM) для
ViewModel и
ViewController надо объявлять так:
requires: ['ViewModel', 'ViewController']
При том во всех примерах структура директорий и app.js файла разная, нет общепринятой типизации, как в MVC.
Например предлагают все типы оформлять в одной директории (Вьюху, ВьюМодель и ВьюКонтролер).
И т.д.