在Rails资产管道中包含外部JS,并在部署期间捆绑
Include external JS in Rails asset pipeline that gets bundled during deploys
我已经回顾了这个问题-包括使用Rails 3.1资产管道的外部库-这基本上是我正在寻找的,有一个警告:我想在资产管道中包括外部url,以便当我部署到生产环境时,外部url与其他所需的本地文件捆绑在一起。
更多细节:
我的用例是我在GitHub上找到了一个我喜欢的插件,并且作为开源社区的好成员,我想帮助贡献回来。我正在考虑的最省时的技术是fork repo,然后在开发期间将需要该文件的本地项目指向所需JS文件的原始源代码,但是当我部署到阶段/生产时,将该文件与应用程序的其余部分捆绑在一起。这将允许我保持插件与父项目紧密联系,但保持事情在我自己的轨道上,这样我就可以决定何时从基础项目合并更新,以及提交任何修复我有回到父与简单的拉请求。
话虽如此,我还没有找到任何关于如何使用当前rails JS资产管道或是否有可能做到这一点的文档。一些快速的本地测试表明,这在css文件中有效,但在js文件中无效。有人能证实这是可能的吗?谢谢!
我会使用像这样的自定义rake任务。基本上,你要做的是将rake任务写入部署脚本的开头,但修改后将文件放入供应商/资产文件夹(或任何你想要拉入资产管道的地方)
这样你就可以在部署时拉出请求的文件,但是当你的资产管道将所有内容捆绑在一起时,它就在你的代码中。
下面是链接失效时的代码:namespace :remote_file do
desc "Get a file from a remote server"
task :fetch do
# based on http://snippets.dzone.com/posts/show/2469
# http://farm1.static.flickr.com/92/218926700_ecedc5fef7_o.jpg
Net::HTTP.start("farm1.static.flickr.com") do |http|
resp = http.get("/92/218926700_ecedc5fef7_o.jpg")
open("fun.jpg", "w") { |file| file.write(resp.body) }
end
end
相关文章:
- 如何从rails中的代码中删除新行( )
- Rails File_field最大堆栈大小
- angularjs+rails应用程序中未显示模板
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- Rails 3.2 js.erb文件转义js
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- Jquery:代码在rails中的页面加载时未执行
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Rails/Bootstrap Navbar/j查询本地主机和已部署(Heroku)之间的差异
- Rails-heroku部署jquery和css错误,在本地设置amazons3变量
- 使用node.js将rails应用程序部署到ubuntu
- Rails 4-Javascript没有'在Heroku部署后无法工作
- Ruby on Rails与Windows的部署问题
- Rails应用在部署到heroku后没有加载Arbor.js
- 在heroku上部署rails 3.1项目的问题
- 在Rails资产管道中包含外部JS,并在部署期间捆绑
- ruby on rails-Javascript在本地工作,但在部署到Heroku时不再工作.(带涡轮连杆.)
- 将 Rails 3.1 项目部署到 Heroku 时出现问题:找不到 JavaScript 运行时
- 在部署Ruby On Rails项目时意外缩进
- Javascript不能在Ruby on Rails部署模式下工作