NuxtJS、ExpressJS - 如何正确连接到端点?

NuxtJS, ExpressJS - how to connect to endpoint correctly?

我正在尝试连接到端点,我有“POST http://localhost:3000/api/post 404(未找到)”

连接中间件post路由到./api/index.js:

app.use('/post', postRoutes)

export default {
  path: '/api',
  handler: app
}

post路由器文件./api/routes/post.routes.js:

const { Router } = require('express')
const ctr = require('../controllers/post.controller')
const router = Router()

router.post('/api/post', ctr.create)

module.exports = router

vue 页面:

const formData = {
 title: this.form.title,
 text: this.form.text
}
try {
 await this.$store.dispatch('post/create', formData)
} catch (e) {}

所以我向商店提出 post 请求。/store/post.js:

export const actions = {
  async create({ commit }, formData) {
    try {
      return await this.$axios.$post('/api/post', formData)
    } catch (e) {
      commit('setError', e, { root: true })
      throw e
    }
  }
}

如果你在 axios 中写下你的完整路径,它会起作用。您还可以在状态中为基础 url 创建字段并在操作中使用它。

return await this.$axios.$post('http://localhost:3000/api/post', formData)

/api/post/api/post:

上观察到中间件之前,我通过编辑 router.post 解决了这个问题
router.post('/', ctr.create)

我的请求也是这样的:

return await this.$axios.$post('/api/post', formData)