【发布时间】: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