如何在Rails资产Pipeleine中共享不同coffeescript文件中的代码
How to share code in different coffeescript files in Rails Asset Pipeleine
我共享了.js.coffee
Shared =
shared_method: (msg) ->
alert(msg)
我有test.js.coffee
Shared.shared_method("this doesn't work")
我首先在application.js中加载共享代码,如下所述https://stackoverflow.com/a/20563242/656510
//= require ./shared
//= require_tree .
然而,它在开发中不起作用,我得到:Uncaught ReferenceError:Shared没有定义
当我看到JS时,它被作为单独的文件提供,而不是像在生产中那样被编译到application.JS中。
正如我所想的那样,我创建了一个干净的Rails4.1应用程序来演示这个问题。
https://github.com/itinsley/asset_pipeline_weirdness
非常感谢您的帮助。
您需要使用全局名称空间:
@Shared =
shared_method: (msg) ->
alert(msg)
如果你愿意,你可以为你的应用程序使用一个名称空间:
@myApp ||= {}
myApp.Shared =
shared_method: (msg) ->
alert(msg)
相关文章:
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- 在视图中包含一个包含 ERB 的 Coffeescript 文件
- 从 rails 中的不同 coffeescript 文件调用函数
- 在保存时编译一些 CoffeeScript 文件
- 如何让 Guard 自动编译我的 Coffeescript 文件?说是,但不是
- 如何在Rails资产Pipeleine中共享不同coffeescript文件中的代码
- 最佳实践:一个页面上有多个CoffeeScript文件
- 组织多个CoffeeScript文件
- 如何在coffeescript文件中获得有错误的行号
- 从CoffeeScript文件调用JavaScript函数
- 咖啡师没有在更改时编译Coffeescript文件
- 如何用Node.js / Express自动编译客户端CoffeeScript文件
- 在node.js上编译并运行coffeescript文件
- 运行包含CoffeeScript文件导入的Jest测试时出现SyntaxError
- 如何在Coffeescript文件中配置JSHint
- 如何从其他coffeescript文件导入文件
- 访问另一个CoffeeScript文件中的变量
- 我怎样才能需要CoffeeScript文件
- 在html文件中调用coffeescript文件中的函数
- 如何使Grunt配置变量对CoffeeScript文件可访问