2016-08-31 35 views
4

a scotch.ioチュートリアルの最初のノードと角型アプリケーションを作成しています。私は、相対パスはError: ENOENT: no such file or directoryのオンライン上の一般的な問題であることを見てきました。私が知る限り、チュートリアルと同じですから、なぜ動作しないのでしょうか。ノード、角度エラー:ENOENT:そのようなファイルやディレクトリがありません

完全なエラーメッセージは次のとおりです。 Error: ENOENT: no such file or directory, stat'/Users/badman/githubRepos/travelGuide/app/public/index.html' at Error (native)

My folder structure is here. マイserver.js:

// set up web server 
var express = require('express'); 
var app = express(); 
var bodyParser = require("body-parser"); 

// routes 
require('./app/routes.js')(app); 

// listen (start app with node server.js) 
app.listen(3000, function() { 
    console.log("server going"); 
}) 

routes.js:

module.exports = function (app) { 

    app.get('*', function (req, res) { 
     res.sendFile(__dirname + '/public/index.html'); // load the single view file (angular will handle the page changes on the front-end) 
    }); 

}; 

すべてのヘルプは高く評価され:)

+1

あなたの 'public'フォルダはあなたが投稿した写真の' app'フォルダの中にないので、明らかに 'app/public/...'は間違っていますか? – adeneo

+0

ええ、それは明らかに問題です、私の未熟さをここに示しています!ルートのどの部分が「アプリ」部分を追加していますか?これはscotch.ioと同じですが、明らかに私の要求は別のディレクトリに行きます。 app.getは経路に追加するのではなく、経路を作るためにexpressを呼び出すのではないのですか? – jSutcliffe90

+0

app.use(express.static(__ dirname + '/ public'))を設定しましたか?エクスプレスはあなたの静的ファイルをパブリックフォルダから提供することができます。あなたは代わりにimport path = require( 'path')を試してみることもできます。次に、app.use( '/'、express.static(path.resolve( './ public'))))を使用します。 – ramon22

答えて

3

私はthを持っていたE同じ問題と私は右require('./app/routes.js')(app);

app.get('*', function (req, res) { 
     res.sendFile(__dirname + '/public/index.html'); // load the single view file (angular will handle the page changes on the front-end) 
    }); 

にserver.jsを移動し、それはそれを修正!サーバー側のルートが呼び出されたときに、index.htmlを間違った場所に探していたためです。パスも変更できたと思うが、これがより明確になることがわかった。

+0

ありがとうarabk、それはトリックを行っている:) – jSutcliffe90

関連する問題