【问题标题】:Import namespace in CoffeeScript / JavaScript在 CoffeeScript / JavaScript 中导入命名空间
【发布时间】:2012-11-27 02:45:40
【问题描述】:

是否可以为 JavaScript / CoffeeScript 文件导入命名空间?
这个想法是避免输入完全限定的命名空间。

假设我在初始化代码中定义了波纹管。

window.Editor = { }

这是 CoffeeScript 文件,我希望避免在其中一遍又一遍地键入完全限定的命名空间:

class Editor.Editor
  constructor: (@width, @hight) ->
    @canvas = new Editor.Canvas(@width,  @hight)
    @backGround = new Editor.BackGround(@canvas)
    @frontGround = new Editor.FrontGround(@canvas)

我可以像在 Java 中导入包一样导入命名空间吗

import Editor.*;

【问题讨论】:

    标签: javascript oop namespaces coffeescript


    【解决方案1】:

    试试这样的:

    Editor.coffee:

    Editor = {}
    
    root = exports ? window
    root.Editor = Editor
    

    main.coffee:

    {Editor} = require './Editor'
    

    【讨论】:

      【解决方案2】:

      你可以试试

      for key, value of Editor
        window[key] = value
      

      但你应该非常小心。因为你可以重新定义你真正需要的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-11
        • 1970-01-01
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        • 2021-10-03
        相关资源
        最近更新 更多