关于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