性能中继发生下一个生成错误



发生下一次构建错误

ReferenceError: location is not defined
at Object.<anonymous> (/PATH/node_modules/next/dist/client/performance-relayer.js:1:135)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/PATH/node_modules/next/dist/client/index.js:1:1406)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) {
type: 'ReferenceError'

我不知道。。

plz帮助

通常,这是因为不正确导入NextJS组件,如Link、路由器

例如:

import {router} from "next/client";   // will cause location not found error

将导致这种类型的错误。正确的方法如下:

import router from "next/router";    // correct way

";链接":

import Link from "next/link";    // correct way

我们遇到了同样的问题。在我们的案例中,这些是不正确的路由器导入:

import { NextRouter } from "next/dist/client/router";
import { useRouter } from 'next/dist/client/router';
import { router } from "next/client";

我先把两个改成了"strong";下一个/路由器"并使用useRouter()替换最后一个

ReferenceError:位置未定义是由于错误导入下一个js包导致的。

假设您正在使用路由器来使用命令pushrouter.push('/path'(路由页面,那么我们需要从import{useRouter}从"下一个/路由器">然后使用这样的路由器:

const router=useRouter();
router.push('/path');

注意:无需从";下一个/客户端";像这样:

import {router} from "next/client";

性能中继层发生下一个生成错误

我认为这会解决你的问题。文件编号:-https://nextjs.org/docs/api-reference/next/router

最新更新