[英]Include external JS in Rails asset pipeline that gets bundled during deploys
我已经审查了这个问题- 包括使用Rails 3.1资产管道的外部库 -基本上,这是我要寻找的一个警告:我想在资产管道中包括外部url,以便在部署到生产环境时,外部网址将与所需的其他本地文件捆绑在一起。
更多细节:
我在这里的用例是,我在GitHub上找到了一个我喜欢的插件,并且作为开源社区的好成员,我想帮助您做出贡献。 我考虑的最省时的技术是分叉存储库,然后在开发过程中将需要该文件的本地项目指向所需JS文件的原始源,但是当我将其与应用程序的其余部分捆绑在一起时我部署到分期/生产。 这将使我能够将插件与父项目保持紧密联系,但要保持自己的步调,以便我可以决定何时合并基础项目的更新,以及轻松地将已提交的所有修订提交给父项目。拉取请求。
话虽如此,我仍然无法找到任何有关如何使用当前的Rails JS资产管道执行此操作的文档,或者根本找不到任何文档。 一些本地的快速测试指出了这种想法,它适用于css文件,但不适用于js文件。 谁能确认这是否可能? 谢谢!
我会使用类似此自定义rake任务的工具 。 基本上,您要做的是将rake任务写入部署脚本的开头,但经过修改后可以将该文件放置在vendor / assets文件夹中(或将其放到资产管道中的任何位置)。
这样,您就可以在部署时提取请求的文件,但是当资产管道将所有内容捆绑在一起时,该文件就在代码中。
这是万一链接腐烂的代码:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.