2013-04-30 62 views
2

我有一个咖啡脚本user.js.coffee,仅用于某些视图。我用了以下的答案实现这一点:非全球咖啡脚本和资产管道

https://stackoverflow.com/a/6795533/784318

现在我已经排除application.js脚本。我也删除了//= require_tree .条目。

所以我的文件可以在这里找到:http://localhost:3000/assets/user.js然而,当我部署此的资产将在一个合并的服务器application.js所以我怎么能确保该user.js的将可在生产像这样:http://myserver.com/assets/user.js

回答

2

environments/production.rb(或者你需要预编译要发生的环境)取消注释或将此文件添加到预编译数组:

# environments/production.rb 

config.assets.precompile += %w(user.js) 

其他项目可能已经存在,只是补充一点,你需要访问的任何其他文件分别。

这个文件将不会编译在一个大application.js文件,将可以访问单独作为user.js

+0

这看起来很有前途。我将在生产中对此进行测试。你知道我是否必须在我的情况下使用'user.js.coffee'吗? – Besi 2013-04-30 13:11:11

+0

'user.js'应该可以正常工作。至少它适用于我的情况。它应该自带“.coffee” – Oktav 2013-04-30 13:24:56

+0

这个答案适合你吗? – Oktav 2013-05-08 14:53:21

0

您可以尝试将您的user.js文件直接放到应用程序的公用文件夹中,并配置您的资产管道以将其从“压缩”过程中排除。

+0

那么它是不是一个'.js'文件,但一个'.js.coffee'文件。所以它至少必须由coffee-script编译器处理。 – Besi 2013-04-30 11:18:35

+0

检查此http://scottwb.com/blog/2012/06/30/compile-a-single-coffeescript-file-from-your-rails-project – 2013-04-30 11:21:10