将yeoman应用程序部署到Heroku / Node

时间:2015-07-27 19:45:55

标签: angularjs node.js heroku yeoman

我正在尝试将我的第一个yeoman / angular应用程序部署到Heroku。

我正在使用Grunt构建一个'dist'文件夹,我正在按照本教程here进行操作,这表明我需要在dist文件夹中包含一个package.json文件。但是当我查看dist文件夹时,我注意到build.json文件在构建之后没有复制到那里。

我是否需要更改我的grunt.js文件以便将package.json文件复制到dist文件夹?像这样:

<!--grunt.js -->

copy: {
  dist: {
    files: [{
      expand: true,
      dot: true,
      cwd: '<%= yeoman.app %>',
      dest: '<%= yeoman.dist %>',
      src: [
        '*.{ico,png,txt}',
        '.htaccess',
        '*.html',
        'views/{,*/}*.html',
        'images/{,*/}*.{webp}',
        'styles/fonts/{,*/}*.*',
        'json/*.json',
        'package.json'  <--- Add in this line ?
      ]
    }

下一个想法我注意到当我尝试从命令行运行heroku ps:scale web=1时,我得到了响应

  

'无法找到阵型'

所以我google了一下,有些人建议Procfile必须没有扩展名。我已经检查了拼写,看看文件是否没有扩展名,我看不出任何问题。我可能会看到此输出的任何其他原因?

最后在scripts对象下的package.json文件中我是否需要添加一个“start”元素?目前我有:

  "scripts": {
"test": "grunt test"

}

但是我应该将其更改为

 "scripts": {
    "start": "node server/web.js",
    "test": "grunt test"
  }

在我的web.js文件中,我有以下内容:

var gzippo = require('gzippo');
var express = require('express');
var morgan = require('morgan');
var app = express();

app.use(morgan('dev'));
app.use(gzippo.staticGzip("" + __dirname + "/dist"));
app.listen(process.env.PORT || 5000);

0 个答案:

没有答案