node.js - 如何在 Heroku 上运行 `grunt connect` 进程

标签 node.js heroku gruntjs

我想知道是否可以运行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 的“foreman start web”完美运行,但在 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=

最佳答案

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

heroku ps:scale web=1

关于node.js - 如何在 Heroku 上运行 `grunt connect` 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16434033/

相关文章:

javascript - 如何传递子文档数组字段值

javascript - 为什么使用 nginx 作为 websocket 代理?

node.js - 富文档的MongoDB全文搜索

ruby - Heroku db:push error Sequel::AdaptorNotFound -> LoadError: 没有要加载的文件 -- pg

css - Grunt 动态目标位置 sass

javascript - 如何更改 knex 中的总和值

javascript - 为什么这个函数console.log 20次而不是一次?

ClearDB、Heroku 中的 MySQL 时区

javascript - 收到 grunt-istanbul 错误 : No coverage information was collected

gruntjs - 如何使用reveal.js本地服务器查看其他文件夹中的html