Структура папок CanJS
При создании простых проектов мы напрямую указываем модели и контроллеры в одном файле, а затем пишем. Мой app.js выглядит так:
var Library = can.Model({});
var Control = can.Control({.....});
var control = new Control('#main');
и один HTML-файл для этого
Для сложных приложений у меня будут разные папки для контроллеров, моделей и видов. Мой первый вопрос
1 Как будет происходить вызов, когда я помещаю контроллеры в разные папки, а модули в разные папки. Может кто-нибудь помочь мне с шаблоном базового файла, который будет вызывать все контроллеры.
1.Если у меня есть простой html-файл для конкретного контроллера, вместо ejs он будет работать?
Я знаю, что это может звучать глупо, но я в замешательстве.
С Уважением,
3 ответа
Посмотрите на пример CanJS + RequireJS TodoMVC. Это должно продемонстрировать все, что вам нужно для начала работы с RequireJS, используя версию модуля CanJS для AMD.
И, конечно, вы можете создать экземпляр своего элемента управления в HTML-файле, не используя представления EJS (или Усы).
Вы можете использовать такой инструмент, как require.js, ваш код будет выглядеть примерно так:
define(['control' ], function(Control){
var control = new Control('#id');
});
Или используйте пространства имен:
// user_control.js
APP.controllers = APP.controllers || {};
APP.controllers.UserControl = can.Control({...
// other file
var control = APP.controllers.UserControl('#id');
Для создания html вместо ejs мы можем использовать
this.view({
url: 'views/demos/accordion.html'
});
Может быть полезным для кого-то еще.