【问题标题】:Using Grunt on Heroku without defiling devDependencies在 Heroku 上使用 Grunt 而不污染 devDependencies
【发布时间】:2015-02-06 00:27:08
【问题描述】:

我了解,一般来说,Grunt 在 Heroku 上最常用的方式是加载 buildpack,指定您的 grunt heroku 任务,并在您的 @ 中包含您想在 Heroku dyno 上使用的任何 Grunt 插件987654322@

但是,我发现这是一个相当糟糕的解决方案,因为它会误解我的应用程序。我的 Grunt 插件都更像devDependencies,因为我只会用 Grunt 运行任何东西(每次部署)。我的应用程序并不直接依赖它们来运行,因为它主要是缩小和模板编译。

我也在尝试将编译后的文件(例如,当我在 Sass 和 Handlebars 中编写时,.css.html 文件)不受源代码控制,所以从 Github 推送它们是可能的,但绝对不是我想要的想要。

有没有办法完成以下所有操作?

  • 从 Git 中排除 .css.html 文件
  • 使用 Sass 和 Handlebars 编写样式表和标记
  • 将包含这些文件的基本 Express 应用推送到 Heroku
  • 让 Heroku 运行我的 grunt build 任务的相对于服务器的版本(将其命名为必要的名称)以在启动 web: 进程之前编译和准备所有视图和资产
  • 让 Heroku 的 Grunt 任务智能地了解我只需要一些启动前编译,因此它会查看 devDependencies 并以一种可能是临时的方式安装相关的
  • 通过web: 进程启动 Express 服务器

不必编写自己的 buildpack,或者以正确的方式执行此操作(我认为是)需要做的任何事情,我都很好。

【问题讨论】:

    标签: node.js git heroku sass gruntjs


    【解决方案1】:

    我创建了 buildpack heroku-buildpack-webapp-client,它支持 grunt、compass/sass 并安装了您的 devDependencies。也许你可以使用这个或看看bin/compile script 看看它是如何工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-26
      • 2014-04-22
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      相关资源
      最近更新 更多