【问题标题】:How to setup Gruntfile to use compass/sass on heroku?如何设置 Gruntfile 以在 heroku 上使用 compass/sass?
【发布时间】:2013-03-31 04:23:15
【问题描述】:

我已经使用grunt buildpack 成功设置了我的heroku 应用程序。当我将我的 Node.js 应用程序推送到 heroku 时,它将运行适当的 grunt 任务。

我想要的是使用“grunt-contrib-compass”包来编译我的 .scss 文件。但这需要 compass 可执行文件,我不知道如何获得它。

我查看了 heroku 文档并看到了 outdated doc that describes setting up compass with ruby... 但我没有看到任何最近使用 Node.js 设置它的文档。

有什么想法吗?

【问题讨论】:

    标签: node.js heroku compass-sass gruntjs


    【解决方案1】:

    我的应用程序使用 grunt-sass 而不是 grunt-contrib-sass 在 heroku 上运行。要将它们换掉,只需执行npm install --save grunt-sass,然后在使用它的任何地方换掉 grunt-task(例如 grunt.loadNpmTasks('grunt-sass') 而不是 grunt.loadNpmTasks('grunt-contrib-sass')

    【讨论】:

      【解决方案2】:

      这花了很多时间弄清楚,但我终于设法让它工作了。所需要的是让 Ruby 与您的 Node.js 应用程序一起安装,这样您就可以安装适当的 gem。 This gist 非常有帮助,或多或少地描述了我需要做的事情。

      总的来说,这个过程是:

      • 在项目目录下创建.buildpacksGemfileGemfile.lock文件,内容如下:

      .buildpacks

      https://github.com/heroku/heroku-buildpack-ruby.git
      https://github.com/heroku/heroku-buildpack-nodejs.git
      

      宝石文件

      source "http://rubygems.org"
      gem "sass"
      

      Gemfile.lock

      GEM
        remote: http://rubygems.org/
        specs:
          sass (3.4.5)
      
      PLATFORMS
        ruby
      
      DEPENDENCIES
        sass
      

      注意。我只使用 Sass,而不是 Compass,但我猜你需要做的就是将 gem "compass" 添加到 Gemfile 中,例如。 compass (1.0.3) 在 Gemfile.lock 中的 sass 下面。

      • 向您的应用添加多构建包:

        heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git

      • 最后,将这些推送到 Heroku,Ruby 和 Sass 应该与您的 Node.js 应用一起安装,允许您使用与 sass 相关的 grunt 任务。

      【讨论】:

      • 非常感谢!我在深夜遇到了这个问题,正要恢复到我原来的构建+部署过程,但这个答案在第一次尝试时就奏效了。万岁!
      • 没问题!上面的内容——尽管事后看来很简单——我花了 才弄明白。很高兴为别人减轻了痛苦!
      • 我认为这是正确的方法。一项补充;现在支持多构建包,无需任何第三方构建包:devcenter.heroku.com/articles/…
      【解决方案3】:

      有一个分叉,包括指南针安装。这可能会有所帮助:

      https://github.com/stephanmelzer/heroku-buildpack-nodejs-grunt-compass

      【讨论】:

        猜你喜欢
        • 2013-01-03
        • 2013-09-10
        • 2012-10-26
        • 1970-01-01
        • 1970-01-01
        • 2012-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多