发生下一次构建错误
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