2015-02-10 7 views
5

Ich versuche, Heroku zu implementieren, aber ich bekomme Error: ENOENT, stat '/app/build/index.html', wenn ich zu meiner Adresse gehe. Andernfalls gibt mir die Anwendungsbereitstellung keinen Fehler. Kann jemand erklären, was ich falsch mache? Hier ist meine Code- und Codestruktur.heroku Fehler: 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); 
}); 

Struktur im App

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

Struktur im app/

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

Antwort

0

Try s bauen alles wie folgt:

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

Danke, aber ich bekomme immer noch den Fehler. – patriques

5

Ich habe es herausgefunden. Es war meine .gitignore Datei, in der ich den Ordner /build einfügte.

+0

Ich habe meine Haare für einen Tag über dieses Problem gezogen und es kam alles nur auf meine Build-Ordner. Vielen Dank! Beendet mit Git anstelle von Herokus Git-System, so konnte ich besser visualisieren, welche Dateien hinzugefügt oder entfernt wurden. –

+0

Ich bin froh, dass es hilfreich war! – patriques