如何解决Express 动态路线不适用于生产
我想将数据从客户端发送到服务器,因此我使用了快速动态路由。我在我的本地主机上使用它并且它工作得很好,没有错误。当我将它部署到 heroku 时,它说 TypeError: Cannot read property 'twittername' of undefined
这是我的代码: 服务器/路由/api/twitterName.js
const express = require('express')
const router = express.Router()
router.get('/:twittername',(req,res) => {
res.send(req.params.twittername)
})
module.exports = router
server/routes/api/tweets.js
const express = require('express')
const T = require('../../../src/lib/twitter')
const twitterName = require('./twitterName')
const router = express.Router()
router.get('/',res) => {
console.log(twitterName.stack[0].params.twittername)
T.get(
'search/tweets',{ from: twitterName.stack[0].params.twittername,count: 5 },function (err,data,response) {
if (err) {
return res.status(400).json('Oops! Something went wrong.')
}
res.status(200).send(data)
}
)
})
module.exports = router
和 server/index.js
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const path = require('path')
const app = express()
app.use(bodyParser.json())
app.use(cors())
const tweets = require('./routes/api/tweets')
const twitterName = require('./routes/api/twitterName')
app.use('/api/tweets',tweets)
app.use('/twittername/',twitterName)
if (process.env.NODE_ENV === 'production') {
app.use(express.static(__dirname + '/public/'))
app.get(/.*/,res) => res.sendFile(__dirname + '/public/index.html'))
}
const port = process.env.PORT || 8081
app.listen(port,() => console.log(`Server started on port ${port}`))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。