在不同的文件夹中实例化Coffeescript类

时间:2015-02-03 22:19:43

标签: javascript coffeescript

我正在从官方文档中学习咖啡,我无法弄清楚如何在通常的文件夹结构中使用类和对象。

让我们来看看这个场景:

-- scripts
   -- coffee
      -- HeaderCtrl.js.coffee
      -- AnimationCtrl.js.coffe
   main.coffee

现在让我们假设在main.coffee中,当文档准备就绪时,要实例化我的Header和Animation Controller,我该怎么做?

p.s我知道如何实例化一个对象(header = new HeaderCtrl()),但我不知道如何在js中使用谎言命名空间来调用不同位置的东西。

非常感谢你们

1 个答案:

答案 0 :(得分:0)

如果有人需要这个,我想通过requireJS来实现我想做的事情,做这样的事情:

/script/controllers/HeaderCtrl.coffee

中的

define [], () ->
  class HeaderCtrl
    constructor: (@ref) ->

我宣布一个没有依赖的模块

/scripts/main.coffee

中的

requirejs.config
  baseUrl: 'scripts'
  paths:
  HeaderCtrl: 'controllers/HeaderCtrl

require ['HeaderCtrl'], (HeaderCtrl) ->
  instance = new HeaderCtrl()

我在requiresjsconfig中传递它并在之后调用它。

P.S当您包含requirejs lib时,它必须是您在dom中包含的最后一个文件