1

我想知道是否可以运行grunt-contrib-connect命令以使用 Heroku 提供静态文件。

我的 Grunt 文件如下所示:

module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    connect: {
      server: {
        options: {
          port: process.env.PORT || 5000,
          base: 'www',
          keepalive: true
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-connect');

  // Default task(s).
  grunt.registerTask('default', ['connect']);    
};

我的 Procfile 看起来像这样:

web: grunt

我的 package.json 看起来像这样:

{
    "name": "herokoloco",
    "version": "0.1.1",
    "scripts": {
        "postinstall": "bower install"
    },
    "dependencies": {
        "grunt": "^0.4.5",
        "grunt-cli": "^0.1.13", 
        "grunt-contrib-connect": "^0.8.0",
        "bower": "~1.3.9"
    },
    "engines": {
        "node": "0.10.x"
    }
}

我的文件结构如下所示:

> node_modules
v www
    index.html
bower.json
Gruntfile.js
package.json
Procfile

它使用 Heroku 的“工头启动网络”在本地完美运行,但不适用于 Heroku。我只是在我的日志中得到这个错误:

2014-10-08T21:19:23.620448+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=shielded-waters-3266.herokuapp。 com request_id=4d669be2-a362-4968-8349-b83b8ad0e2f6 fwd="198.245.95.126" dyno= connect= service= status=503 bytes=

4

3 回答 3

1

一旦我实际设置了一些测功机,它就起作用了。为此,我从 Heroku 项目内部的终端发出了以下命令:

heroku ps:scale web=1
于 2014-10-10T21:34:48.747 回答
0

grunt-cli确保您的包配置中列出了所有 grunt 依赖项(hostname包括配置。这对我行得通。

于 2014-03-19T11:12:54.560 回答
0

通过在 Procfile 中设置启动服务器的命令,您可以让 Heroku 在完成安装后运行您想要的任何命令。所以,像:

web: ./node_modules/grunt/.bin/grunt my-grunt-command ; node app.js

应该管用。

于 2013-05-13T01:35:47.217 回答