babel asyncToGenerator调用了两次NextJS getInitialProps

时间:2020-03-14 15:44:46

标签: express routes babeljs router next.js

我意识到我的getInitialProps被调用了两次(甚至三次),一个是用户的请求,另一个是来自babel asyncToGenerator的,如下所示:

localhost/[page]/babel/runtime-corejs2/helpers/asyncToGenerator.js
localhost/[page]/internal/process/task_queues.js

当用户尝试打开页面时,这两个请求破坏了我的页面,因为getInitialProps函数应该根据page_name之后的ID从mongodb获取数据,例如:localhost/[page]/[id]

在上述情况下,idbabelinternal,因此没有返回的数据。 最糟糕的是,这两个请求是在用户请求页面的同时发生的,因此该页面将永远不会打开。这两个请求的bcs干扰了组件应接收的响应。请帮忙。

1 个答案:

答案 0 :(得分:0)

处理此问题2天后,我通过编辑快递路线来消除此问题。以前,我将*?放在url的末尾,以便接收路径后面的任何参数。

这是我编辑之前的样子:

app.get("/:page/:id*?", () => {});

然后我将其修改为:

app.get("/:page/:id", () => {});

用两个字符解决了我的问题,尽管这意味着我的页面将无法接收任何参数,但现在它像一个超级按钮一样工作。