如何解决正在渲染返回的数据而不是Nuxt中的页面结构
我正在尝试从快递服务器以JSON格式返回数据。数据返回正常,但是当我在浏览器上打开NUXT页面时,输出的是JSON数据而不是HTML页面。
请注意,快速路由与页面路由相同。我知道路线相互冲突。我需要服务器和前端在不同的端口上吗?我在这里做错什么吗?
谢谢
解决方法
如果后端和前端的路由完全相同,则无法执行此操作。这是路由规则,它们必须是唯一的,而不是e.x的后端或前端问题。您也可以在express(api)和nuxt中有两个具有相同url的路由。
例如,如果我们说应用程序是邮局,则路线是到房屋地址的路径(控制器或操作),因此我们可以有两条路径来获得房屋,但混淆之处是相同的路径(URL或路线)和不同的房子。
简单的解决方案:
- 正如您所说,使api和front分别使用不同的端口或不同的域,甚至为您的快速路由添加前缀
- 在Express中处理所有这些,意味着返回视图或页面,其中包含所需的数据而不是json数据
为避免冲突,您应该使用诸如/api/
或/api/v1/
之类的前缀
在nuxt.config.js
中,您需要定义服务器中间件
serverMiddleware: ["~/api/index.js"]
该文件是您的服务器。在底部,您需要像这样导出它:
module.exports = {
path: "/api",handler: app
}
请注意:app
是您的express应用,如果您使用express.js。
此处:const app = express();
如果一切正常,您的API根目录应该在host:port/api/
下可用
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。