Javascript 在部署期间绑定的Rails资产管道中包含外部JS

Javascript 在部署期间绑定的Rails资产管道中包含外部JS,javascript,ruby-on-rails,deployment,capistrano,asset-pipeline,Javascript,Ruby On Rails,Deployment,Capistrano,Asset Pipeline,我已经回顾了这个问题——这基本上就是我要寻找的一个警告:我希望在资产管道中包含外部url,以便在我部署到生产环境时,外部url与所需的其他本地文件绑定到一个文件中 更多详情: 我在这里的使用案例是,我在GitHub上找到了一个我喜欢的插件,作为开源社区的一个好成员,我想帮助大家回馈。我正在考虑的最节省时间的技术是分叉repo,然后在开发期间将需要该文件的本地项目指向所需JS文件的原始源,但在部署到暂存/生产时,将该文件与应用程序的其余部分捆绑在一起。这将使我能够将插件与父项目紧密地联系在一起,但

我已经回顾了这个问题——这基本上就是我要寻找的一个警告:我希望在资产管道中包含外部url,以便在我部署到生产环境时,外部url与所需的其他本地文件绑定到一个文件中

更多详情:

我在这里的使用案例是,我在GitHub上找到了一个我喜欢的插件,作为开源社区的一个好成员,我想帮助大家回馈。我正在考虑的最节省时间的技术是分叉repo,然后在开发期间将需要该文件的本地项目指向所需JS文件的原始源,但在部署到暂存/生产时,将该文件与应用程序的其余部分捆绑在一起。这将使我能够将插件与父项目紧密地联系在一起,但让事情保持在我自己的轨道上,这样我就可以决定何时合并来自基本项目的更新,以及通过轻松拉取请求将我的任何修复提交回父项目


话虽如此,我还没有找到任何关于如何使用当前rails JS资产管道实现这一点的文档,也没有找到任何关于这一点的文档。一些本地快速测试表明,这在css文件中有效,但不适用于js文件。有人能确认这是否可行吗?谢谢

我会用类似的东西。基本上,您要做的是将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

这是可行的,但肯定不太理想,因为我必须在rake任务中列出所需的include。此外,我们是从scm部署的,所以这稍微影响了这个计划。此外,我们在项目scm中使用hg,所以从技术上讲,只要忽略hg中的.git文件,我就可以直接将文件git克隆到hg repo中。不管怎样,我应该走在前面去做。