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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...