使用 coffeescript 公开一个 javascript api

2022-01-24 00:00:00 javascript coffeescript

我最近开始使用coffeescript,并且很好奇将我用Coffeescript 创建的对象公开给其他javascript 页面的正确"方式是什么.由于咖啡脚本包装功能,调用 window.coffeeObject = externalObject 是否可以接受.

I recently started using coffeescript and was curious what is the "right" way to expose an object that I create with Coffeescript to other javascript pages. Because of coffeescripts wrapping functionality, is it acceptable behavior to call window.coffeeObject = externalObject.

example.coffee

externalObject = 
   method1: -> 'Return value'
   method2: -> 'Return method2'

window.myApi = externalObject

example.js -- 编译自example.coffee

example.js -- compiled from example.coffee

(function() {
  var externalObject;
  externalObject = {
    method1: function() {
      return 'Return value';
    },
    method2: function() {
      return 'Return method2';
    }
  };
  window.myApi = externalObject;
}).call(this);

other.js

alert(myApi.method1()) // Should return "Return value"

推荐答案

是的,没错.或者,您可以使用 define @myApi = { foo: ->} 因为 this 是文件根上下文中的 window.

Yep that's correct. Alternatively you can use define @myApi = { foo: -> } because this is window in the root context of the file.

相关文章