get 请求时 server-entry.js里的报错 no component matched

来源:7-2 数据API实现

蓝with黑

2018-07-05

// service.js
app.use(apiRouter.routes()).use(apiRouter.allowedMethods())

// api.js
apiRouter
.get('/todos', async (ctx) => { // 没生效
const todos = await ctx.db.getAllTodos()
ctx.body = successResponse(todos)
})
.post('/todo', async (ctx) => { // post ok
const data = await ctx.db.addTodo(ctx.request.body)
ctx.body = successResponse(data)
})
server-entry.js里的报错
render error Error: no component matched
[1]     at server-entry.js:806:23
[1]     at AbstractHistory.onReady (/Users/wengf/work/self_test/2.test/7.mooc-pay/mooc_todo/vue_deeplearn/node_modules/vue-router/dist/vue-router.common.js:1859:5)
[1]     at VueRouter.onReady (/Users/wengf/work/self_test/2.test/7.mooc-pay/mooc_todo/vue_deeplearn/node_modules/vue-router/dist/vue-router.common.js:2528:16)
[1]     at server-entry.js:800:12
[1]     at new Promise (<anonymous>)
[1]     at module.exports.exports.default (client/server-entry.js:8:9)
[1]     at /Users/wengf/work/self_test/2.test/7.mooc-pay/mooc_todo/vue_deeplearn/node_modules/vue-server-renderer/build.js:8375:43
[1]     at new Promise (<anonymous>)
[1]     at /Users/wengf/work/self_test/2.test/7.mooc-pay/mooc_todo/vue_deeplearn/node_modules/vue-server-renderer/build.js:8372:14
[1]     at Object.renderToString (/Users/wengf/work/self_test/2.test/7.mooc-pay/mooc_todo/vue_deeplearn/node_modules/vue-server-renderer/build.js:8564:9)

get 请求提示: no component matched

post请求都没问题

写回答

1回答

Jokcy

2018-07-06

你输入的路由没有配置组件咯。看看你输入的路由以及你的路由配置的对应关系吧

0
2
Jokcy
回复
蓝with黑
哦,那就是你服务端路由拦截没弄对啊,如果这个请求没有被前面的路由拦截掉,最后都会到服务端渲染的路由里面。
2018-07-07
共2条回复

Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲

深入讲解Vue核心技术,展示Vue应用开发中的各种问题和解决方案

3168 学习 · 853 问题

查看课程