2016-04-10 5 views
0

は私がserver.jsノード表現パブリックフォルダ404エラー

app.use("public",express.static(__dirname + '/public')); 

をに追加Learning Node - Express Public folder not working

この記事に非常によく似た問題を抱えしかし、私は

http://localhost:8081/public/css/styles.css 
http://localhost:8081/styles.css 

どちらの作品を行うとき。私は "GET/public/css/styles.css"と "GET/styles.cssできません"というメッセージが表示されます。ここで

は私のserver.jsここ

var express = require('express') 
    , cors = require('cors') 
    , app = express() 
    , mongoose = require('mongoose') 
    , models = require('./models') 
    , bodyParser = require('body-parser') 
    , controllers = require('./controllers') 
    , port = 8081//process.env.PORT || 3000 

// Config 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 
app.use(cors()); 

app.set('views', __dirname + '/views') 
app.set('view engine', 'ejs'); 
app.engine('html', require('ejs').renderFile); 

app.use("public",express.static(__dirname + '/public')); 
app.use('/', controllers); 
mongoose.set('debug', true); 
mongoose.connect('mongodb://localhost/db', function (err) { 
    if (err) throw err; 

    console.log("mongoose connected") 
    var server = app.listen(port, function() { 
     var host = server.address().address 
     var port = server.address().port 
     console.log("RESTful Web Services listening at http://%s:%s", host, port) 
    }) 
}) 

である私は

http://localhost:8081/views/demo.hmtl 

を実行する場合、私は再びなるだろう、実際にコントローラフォルダ

var express = require('express') 
    , router = express.Router() 
    , users = require('./api/users.js') 

router.use('/api/user', users); 

router.get('/', function (req, res) { 
    res.render('index.html') 
}) 
//router.use(express.static('public')); 
//router.use(express.static('views')); 

router.get('/views/demo', function (req, res) { 
    res.sendFile('/views/demo.html') 
}) 

module.exports = router 

でindex.jsです「リソースの読み込みに失敗しました:サーバーが404(Not Found)のステータスで応答しました」

私は何を欠席しましたか?

+0

ここで私はEJSとpublic staticを設定します。 '' app.set( "ビューエンジン"、 "ejs")。(express.static(__ dirname + "/ public")); ' –

+0

返事のおかげで、私はあなたのコードを使用して、エラーが続く。私はindex.jsを表示するように投稿を更新しました。他のアイデア? – Shawn

答えて

1

server.jsに以下を追加しました。

app.use('/views', express.static(path.resolve(__dirname, 'views'))); 
app.use('/public', express.static(path.resolve(__dirname, 'public')));