无法使用猫鼬和节点提供静态文件

时间:2019-11-13 22:47:34

标签: javascript node.js mongodb express mongoose

关于StackOverflow的第一个问题。我在我的一条路线上提供我的公共目录时遇到问题,它可以在除/ player /:id / intro路线之外的所有其他路线上使用。这是我的app.js:

var express=require('express'),
    app=express(),
    mongoose=require('mongoose'),
    Player=require('./models/player'),
    bodyParser=require('body-parser')

var indexRoutes=require('./Routes/index')
var conversationRoutes=require('./Routes/Conversations/index')

app.set('view engine', 'ejs')
app.use(express.static('public'))
app.use(bodyParser.urlencoded({extended: true}))
mongoose.connect('mongodb+srv://MichaelPatriot21:Werewolf18@cluster0-9umcn.gcp.mongodb.net/Ambassador?retryWrites=true&w=majority', {useNewUrlParser: true, useUnifiedTopology: true})

app.use(indexRoutes)
app.use(conversationRoutes)

app.listen(3000, function(){
    console.log('Server listening at PORT: 3000...')
})

这是我的index.js,其中包含有问题的路由:

var express = require('express'),
    router = express(),
    Player = require('../../models/player')

router.get('/player', function(req,res){
    Player.find({}, function(err, players){
        if(err) {
            console.log(err)
        } else {
            res.render('playerlist', {
                pageTitle: 'Characters',
                player: players
            })
        }
    })
})

router.get('/player/:id/intro', function (req, res) {
    Player.findById(req.params.id, function (err, player) {
        if (err) {
            console.log(err)
        } else {
            res.render('conversations/introduction', {
                pageTitle: 'Intro',
                player: player
            })
            console.log(player)
        }
    })
})

module.exports = router

我的文件结构是:
v3 /
models / player.js
node_modules /
public / choices-intro.css
public / choices-intro.js
路线/会话/index.js
路线/index.js
视图/对话/introduction.ejs
views / index / home.ejs
视图/局部/footer.ejs
视图/局部/header.ejs
views / playerlist.ejs
app.js
package-lock.json
package.json

0 个答案:

没有答案