-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Closed
Labels
bugIssue was opened via the bug report template.Issue was opened via the bug report template.
Description
Verify canary release
- I verified that the issue exists in the latest Next.js canary release
Provide environment information
Operating System:
Platform: win32
Arch: x64
Version: Windows 10 Education
Binaries:
Node: 18.12.1
npm: N/A
Yarn: N/A
pnpm: N/A
Relevant packages:
next: 13.4.5-canary.0
eslint-config-next: 13.4.4
react: 18.2.0
react-dom: 18.2.0
typescript: 5.0.4Which area(s) of Next.js are affected? (leave empty if unsure)
App directory (appDir: true)
Link to the code that reproduces this issue or a replay of the bug
https://codesandbox.io/p/sandbox/intelligent-lovelace-tnwuq9
To Reproduce
- Initialize a Next.JS project with all default options (using app router)
- Create 2 client components using the "use client" directive:
- One following the example at: https://nextjs.org/docs/getting-started/react-essentials#the-use-client-directive
- One that show
window.locationas a JSON string
- Try to build the app with
npm run build
Describe the Bug
Trying to build the app with the client component that only renders a JSON string using the window object (or any browser API) results in the following error on build:
info - Collecting page data
[ ] info - Generating static pages (0/3)ReferenceError: window is not defined
at UseClientNonInteractive (/project/home/foxxite/workspace/.next/server/app/page.js:326:34)
at ae (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:99:272)
at ae (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:104:142)
at Z (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:105:91)
at be (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:107:98)
at de (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:106:424)
at Z (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:105:222)
at be (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:107:98)
at de (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:106:424)
at Z (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:105:222)
Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
ReferenceError: window is not defined
at UseClientNonInteractive (/project/home/foxxite/workspace/.next/server/app/page.js:326:34)
at ae (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:99:272)
at ae (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:104:142)
at Z (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:105:91)
at be (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:107:98)
at de (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:106:424)
at Z (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:105:222)
at be (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:107:98)
at de (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:106:424)
at Z (/project/home/foxxite/workspace/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:105:222)
info - Generating static pages (3/3)
> Build error occurred
Error: Export encountered errors on following paths:
/page: /
at /project/home/foxxite/workspace/node_modules/next/dist/export/index.js:417:19
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Span.traceAsyncFn (/project/home/foxxite/workspace/node_modules/next/dist/trace/trace.js:79:20)
at async /project/home/foxxite/workspace/node_modules/next/dist/build/index.js:1317:21
at async Span.traceAsyncFn (/project/home/foxxite/workspace/node_modules/next/dist/trace/trace.js:79:20)
at async /project/home/foxxite/workspace/node_modules/next/dist/build/index.js:1176:17
at async Span.traceAsyncFn (/project/home/foxxite/workspace/node_modules/next/dist/trace/trace.js:79:20)
at async Object.build [as default] (/project/home/foxxite/workspace/node_modules/next/dist/build/index.js:69:29)
Expected Behavior
No matter what the component does, if the 'use client' directive is used, NextJS should treat it as such and not try to make it a static / server component.
Which browser are you using? (if relevant)
N/A
How are you deploying your application? (if relevant)
N/A
Metadata
Metadata
Assignees
Labels
bugIssue was opened via the bug report template.Issue was opened via the bug report template.