如何设置Gruntfile在heroku上使用指南针/ sass?
我已经用grunt buildpack成功设置了我的heroku应用程序。 当我将我的Node.js应用程序推送到heroku时,它将运行适当的grunt任务。
我想要的是使用“grunt-contrib-compass”包来编译我的.scss文件。 但是那需要指南针的可执行文件,我不知道该怎么做。
我已经检查过heroku文档,并且看到过时的文档描述了用ruby设置指南针 …但是我还没有看到任何最近的文档用于设置Node.js。
有任何想法吗?
这花了很多心思,但我终于设法得到它的工作。 需要的是让Ruby与Node.js应用程序一起安装,以便安装适当的gem。 这个要点非常有帮助,并且或多或less地描述了我需要做的事情。
总之,这个过程是:
- 在项目目录下创build文件
.buildpacks
,Gemfile
和Gemfile.lock
,内容如下:
.buildpacks
https://github.com/heroku/heroku-buildpack-ruby.git https://github.com/heroku/heroku-buildpack-nodejs.git
的Gemfile
source "http://rubygems.org" gem "sass"
Gemfile.lock的
GEM remote: http://rubygems.org/ specs: sass (3.4.5) PLATFORMS ruby DEPENDENCIES sass
NB。 我只使用Sass,而不是Compass,但是我猜测你需要做的所有事情就是将指南针添加到Gemfile中,例如。 compass (1.0.3)
在Gemfile.lock的sass下面。
-
添加一个多buildpack到你的应用程序:
heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
-
最后,将这些推送到Heroku,Ruby和Sass应该与Node.js应用程序一起安装,从而允许您使用与sass有关的grunt任务。
有一个包括指南针安装的分叉。 这可能有所帮助:
https://github.com/stephanmelzer/heroku-buildpack-nodejs-grunt-compass
我使用grunt-sass
而不是grunt-contrib-sass
让我的应用程序在heroku上工作。 要把它们交换出来,只需要执行npm install --save grunt-sass
,然后在任何地方使用grunt-task(例如grunt.loadNpmTasks('grunt-sass')
而不是grunt.loadNpmTasks('grunt-contrib-sass')