我正在尝试将我的第一个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);