Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 76bfc38

Browse files
committed
Remove all the inline code.
1 parent 822a99b commit 76bfc38

File tree

4 files changed

+48
-19
lines changed

4 files changed

+48
-19
lines changed

client/index.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,15 @@ if (window.NEXT_LOADED_PAGES) {
3535
}
3636

3737
const ErrorComponent = pageLoader.loadPageSync('/_error')
38-
const Component = pageLoader.loadPageSync(pathname) || ErrorComponent
38+
let Component
39+
40+
try {
41+
Component = pageLoader.loadPageSync(pathname)
42+
} catch (err) {
43+
console.error(`${err.message}\n${err.stack}`)
44+
Component = ErrorComponent
45+
}
46+
3947
let lastAppProps
4048

4149
export const router = createRouter(pathname, query, getURL(), {

server/document.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -95,25 +95,16 @@ export class NextScript extends Component {
9595
return this.getChunkScript('app.js', { async: true })
9696
}
9797

98-
getMainComponents () {
99-
const { component, errorComponent } = this.context._documentProps
100-
101-
return (
102-
<div>
103-
<script dangerouslySetInnerHTML={{ __html: component }} />
104-
<script dangerouslySetInnerHTML={{ __html: errorComponent }} />
105-
</div>
106-
)
107-
}
108-
10998
render () {
11099
const { staticMarkup, __NEXT_DATA__ } = this.context._documentProps
100+
const { pathname, buildId } = __NEXT_DATA__
111101

112102
return <div>
113103
{staticMarkup ? null : <script dangerouslySetInnerHTML={{
114104
__html: `__NEXT_DATA__ = ${htmlescape(__NEXT_DATA__)}; module={};`
115105
}} />}
116-
{staticMarkup ? null : this.getMainComponents()}
106+
<script type='text/javascript' src={`/_next/${buildId}/page${pathname}`} />
107+
<script type='text/javascript' src={`/_next/${buildId}/page/_error`} />
117108
{staticMarkup ? null : this.getScripts()}
118109
</div>
119110
}

server/index.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,18 @@ export default class Server {
114114
await this.serveStatic(req, res, p)
115115
},
116116

117+
'/_next/:buildId/page/_error': async (req, res, params) => {
118+
if (!this.handleBuildId(params.buildId, res)) {
119+
const error = new Error('INVALID_BUILD_ID')
120+
const customFields = { buildIdMismatched: true }
121+
122+
return await renderScriptError(req, res, '/_error', error, customFields, this.renderOpts)
123+
}
124+
125+
const p = join(this.dir, '.next/client-bundles/pages/_error.js')
126+
await this.serveStatic(req, res, p)
127+
},
128+
117129
'/_next/:buildId/page/:path*': async (req, res, params) => {
118130
const paths = params.path || ['']
119131
const page = `/${paths.join('/')}`

server/render.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,19 @@ export async function renderScriptError (req, res, page, error, customFields, op
131131
if (error.code === 'ENOENT') {
132132
res.setHeader('Content-Type', 'text/javascript')
133133
res.end(`
134-
var error = new Error('Page not exists: ${page}')
135-
error.pageNotFound = true
136-
error.statusCode = 404
137-
NEXT_PAGE_LOADER.registerPage('${page}', error)
134+
function loadPage () {
135+
var error = new Error('Page not exists: ${page}')
136+
error.pageNotFound = true
137+
error.statusCode = 404
138+
NEXT_PAGE_LOADER.registerPage('${page}', error)
139+
}
140+
141+
if (window.NEXT_PAGE_LOADER) {
142+
loadPage()
143+
} else {
144+
window.NEXT_LOADED_PAGES = window.NEXT_LOADED_PAGES || []
145+
window.NEXT_LOADED_PAGES.push(loadPage)
146+
}
138147
`)
139148
return
140149
}
@@ -146,8 +155,17 @@ export async function renderScriptError (req, res, page, error, customFields, op
146155
}
147156

148157
res.end(`
149-
var error = ${JSON.stringify(errorJson)}
150-
NEXT_PAGE_LOADER.registerPage('${page}', error)
158+
function loadPage () {
159+
var error = ${JSON.stringify(errorJson)}
160+
NEXT_PAGE_LOADER.registerPage('${page}', error)
161+
}
162+
163+
if (window.NEXT_PAGE_LOADER) {
164+
loadPage()
165+
} else {
166+
window.NEXT_LOADED_PAGES = window.NEXT_LOADED_PAGES || []
167+
window.NEXT_LOADED_PAGES.push(loadPage)
168+
}
151169
`)
152170
}
153171

0 commit comments

Comments
 (0)