2015-02-10 12 views
5

Próbuję wysłać do heroku, ale dostaję Error: ENOENT, stat '/app/build/index.html', kiedy idę na mój adres. W przeciwnym razie wdrożenie aplikacji nie spowoduje żadnego błędu. Czy ktoś może wyjaśnić, co robię źle. Oto moja struktura kodu i kodu.Błąd 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); 
}); 

Struktura w aplikacji

├── 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 

Struktura w app/zbudować

├── 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 

Odpowiedz

0

Spróbuj s Wszystko takie:

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

Dzięki, ale nadal otrzymuję błąd. – patriques

5

Wyliczyłem to. Był to mój plik .gitignore, do którego dodałem folder /build.

+0

Przez ponad dzień wyrywam sobie włosy z tego problemu i wszystko sprowadzało się do tego, żebym po prostu włączył mój folder budowy. Dziękuję Ci! Zakończyłem używanie Git zamiast systemu git Heroku, więc mogłem lepiej wyobrazić sobie, jakie pliki zostały dodane lub usunięte. –

+0

Cieszę się, że było pomocne! – patriques