Javascript CanJS文件夹结构

Javascript CanJS文件夹结构,javascript,canjs,application-structure,Javascript,Canjs,Application Structure,创建简单项目时,我们直接在同一文件中指定模型和控制器,然后写入。我的app.js如下所示: var Library = can.Model({}); var Control = can.Control({.....}); var control = new Control('#main'); define(['control' ], function(Control){ var control = new Control('#id'); }); 和一个h

创建简单项目时,我们直接在同一文件中指定模型和控制器,然后写入。我的app.js如下所示:

var Library = can.Model({});   
var Control = can.Control({.....});    
var control = new Control('#main');
define(['control' ], function(Control){ 
    var control = new Control('#id');       
});
和一个html文件

对于复杂的应用程序,我将为控制器、模型和视图设置不同的文件夹。 我的第一个问题是

1当我将控制器放置在不同文件夹中,将模块放置在不同文件夹中时,调用将如何进行。有人能帮我一个基本文件的模板,它将调用所有的控制器

1.如果我有一个用于特定控制器的简单html文件,而不是ejs,它会工作吗

我知道这在某种程度上可能听起来很愚蠢,但我感到困惑

您好,

请看一下。这将演示开始使用AMD模块版本的CanJS所需的一切


当然,您可以在HTML文件中实例化控件,而不必使用EJS(或Mustache)视图。

要实例化HTML而不是EJS,我们可以使用

this.view({
            url: 'views/demos/accordion.html'
        });

可能对其他人有用。

您可以使用require.js之类的工具,您的代码如下所示:

var Library = can.Model({});   
var Control = can.Control({.....});    
var control = new Control('#main');
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');