如果我想在不同文件之间共享一些 JavaScript 函数应用程序/资产/javascript组织目录结构的最佳方法是什么?
假设我有共享.js.咖啡
sharedFunction = ->
'Hello '
现在,我如何在其他地方使用它?就像这里一样,在欢迎.js.咖啡
welcome = (name) ->
sharedFunction() + name
我怎样才能使共享.js.cofee 总是先加载?
我试图把它放在一开始应用程序.js,但它不会改变任何东西。似乎shared文件加载时间太长,并且welcome设法开始执行并注意到尚未定义sharedFunction。
我这样做:
- 确保您在进行其他操作之前需要 application.js 中的文件,尤其是之前
require_tree
- 导出函数(在我的例子中是一个类,所以它是命名空间的)
示例:(假设我们有application.js和shared.js.coffee在同一级别)
应用程序.js
//= require ./shared
//= require_tree .
共享.js.咖啡
class MyNamespace
@mySharedFunc: () ->
doSomething()
root = exports ? this
root.MyNamespace = MyNamespace
现在,您可以通过以这种方式引用该函数,在其他 CoffeeScript 文件中轻松访问该函数MyNamespace.mySharedFunc()
P.S.
关于导出的神秘之处在这个 stackoverflow 问题中得到了很好的解释:如何在 CoffeeScript 中定义全局变量? https://stackoverflow.com/questions/4214731/coffeescript-global-variables
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)