heroku - heroku 上的 buildpack 独立 Assets 管理

标签 heroku clojure automation assets

我正在开发一个要部署在heroku上的clojure应用程序,我想要我的javascript依赖项管理(使用哪个版本的jquery..)和我的 Assets 编译任务(concat css和minify,将 Assets 上传到s3,.. .) 实现自动化。

在heroku上开发node.js应用程序时,它非常容易使用bowergruntjs .

不幸的是,node.js 和 npm 没有随 clojure buildpack 安装。

我知道我可以修改构建包以包含任意工具。 但我真的不想为了向我的应用程序添加简单的依赖关系管理而 fork 一个构建包。 当任何所用工具的新版本发布时,我不想感到有义务更新我的 fork 。

您重新开始更新依赖项而不将其放入 git 存储库的方法是什么?您如何编译静态 Assets ?

我想到的解决方案

  • 将 Rails(而不是 clojure)与 Assets 管道结合使用;)(只是开玩笑,这不是一个解决方案)
  • 将node(而不是clojure)与bower和grunt一起使用(可以在package.json中定义为依赖项)
  • 将依赖项放入 git 存储库中,并手动编译和缩小 Assets (容易出错,我想自动执行此操作,并且不想在没有明显原因的情况下在存储库中保留较大的依赖项)
  • 编写自定义 shell 脚本或 makefile 来下载依赖项,并使用 ruby​​ 和 gem 来下载和使用 css minify(应该可以工作,但可能会损坏,像 Bower 和 grunt 这样的工具正是针对此任务而制作的,并且应该更稳定而不是滚动你自己的脚本)
  • 找到 clojure 的 Web 依赖管理器(我还没有找到)
  • 找到一个用于 java 的 Web 依赖管理器(类似于 wro4j
  • 为独立于构建包的 grunt 和 Bower 创建或使用现有的一键安装

你们要重新开始做什么? 几乎每个网络应用程序似乎都有解决此问题的最稳定和最方便的方法。

最佳答案

在考虑基于 JVM 的解决方案时,您还可以利用 webjars其目的是使用 maven 或 gradle 简化 Web Assets 的管理,就像处理 jar 工件一样。

关于heroku - heroku 上的 buildpack 独立 Assets 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300044/

相关文章:

ruby-on-rails-3 - Heroku dyno/worker 在开始时崩溃

JavaScript - 使用部分通配符的 getElementsByName

performance - 编写一个简单的 JMeter 脚本

git - 错误 : Cannot pull with rebase: You have unstaged changes

ruby-on-rails - rails 服务器的问题

ruby-on-rails - 如何修复由 coffeescript/asset 管道产生的这个奇怪的 LoadError 错误?

clojure - cider-connect-clj 无法连接到 nrepl.server/start-server

tomcat - 如何在 tomcat 上托管我的 hiccup clojure 项目?

forms - 如何使用 Clojure 将链接放入提交按钮

google-apps-script - 根据一列删除重复项并在 Google 表格中保留最新条目