2015-02-10 88 views
5

我试图部署到heroku,但我得到Error: ENOENT, stat '/app/build/index.html'当我去我的地址。否则,应用程序部署不会给我任何错误。有人可以解释我做错了什么。这是我的代码和代码结构。heroku错误:ENOENT,stat'/app/build/index.html'

server.js

var express = require('express'), 
    server = express(), 
    bodyParser = require('body-parser'), 
    logger = require('morgan'), 
    methodOverride = require('method-override'); // for heroku 

var port = process.env.PORT || 5000; 

server.use(express.static(__dirname + '/build')); 
server.use('/src', express.static(__dirname + '/build/src'));  // js 
server.use('/assets', express.static(__dirname + '/build/assets')); // css, images 
server.use('/vendor', express.static(__dirname + '/build/vendor')); // other 

server.use(logger('dev')); 

server.get('/', function(req, res, next) { 
    res.sendfile('index.html', { root: __dirname + '/build' }); 
}); 

server.listen(port, function() { 
    console.log("Listening on " + port); 
}); 

在应用结构

├── Gruntfile.js 
├── LICENSE 
├── Procfile 
├── README.md 
├── bower.json 
├── build 
│   └── .... 
├── build.config.js 
├── config 
│   └── db.js 
├── karma 
│   └── karma-unit.tpl.js 
├── module.prefix 
├── module.suffix 
├── node_modules 
│   └── ... 
├── package.json 
├── server.js 
├── src 
│   ├── app 
│   ├── assets 
│   ├── common 
│   ├── index.html 
│   └── less 
└── vendor 

在应用结构/建造

├── assets 
│   ├── O-viu-0.0.1.css 
│   └── README.md 
├── index.html 
├── karma-unit.js 
├── src 
│   └── app 
│    ├── about 
│    │   └── about.js 
│    ├── app.js 
│    └── home 
│     └── home.js 
├── templates-app.js 
├── templates-common.js 
└── vendor 
    ├── angular 
    │   └── angular.js 
    ├── angular-bootstrap 
    │   └── ui-bootstrap-tpls.min.js 
    ├── angular-ui-router 
    │   └── release 
    │    └── angular-ui-router.js 
    └── placeholders 
     └── angular-placeholders-0.0.1-SNAPSHOT.min.js 

回答

0

尝试小号像这样:

res.sendfile(__dirname + '/build/index.html'); 
+0

谢谢,但我仍然得到错误。 – patriques 2015-02-10 17:21:38

5

想通了。这是我的.gitignore文件,其中包括/build文件夹。

+0

我一直拉着我的头发在这个问题上一整天,这一切都归结为只包括我的生成文件夹。谢谢!最终使用Git而不是Heroku的git系统,因此我能够更好地形象化哪些文件被添加或删除。 – 2017-10-29 18:09:19

+0

很高兴这有帮助! – patriques 2017-10-29 20:15:11