mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
Remove all the inline code.
This commit is contained in:
parent
822a99b0d5
commit
76bfc38a09
|
@ -35,7 +35,15 @@ if (window.NEXT_LOADED_PAGES) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const ErrorComponent = pageLoader.loadPageSync('/_error')
|
const ErrorComponent = pageLoader.loadPageSync('/_error')
|
||||||
const Component = pageLoader.loadPageSync(pathname) || ErrorComponent
|
let Component
|
||||||
|
|
||||||
|
try {
|
||||||
|
Component = pageLoader.loadPageSync(pathname)
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`${err.message}\n${err.stack}`)
|
||||||
|
Component = ErrorComponent
|
||||||
|
}
|
||||||
|
|
||||||
let lastAppProps
|
let lastAppProps
|
||||||
|
|
||||||
export const router = createRouter(pathname, query, getURL(), {
|
export const router = createRouter(pathname, query, getURL(), {
|
||||||
|
|
|
@ -95,25 +95,16 @@ export class NextScript extends Component {
|
||||||
return this.getChunkScript('app.js', { async: true })
|
return this.getChunkScript('app.js', { async: true })
|
||||||
}
|
}
|
||||||
|
|
||||||
getMainComponents () {
|
|
||||||
const { component, errorComponent } = this.context._documentProps
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<script dangerouslySetInnerHTML={{ __html: component }} />
|
|
||||||
<script dangerouslySetInnerHTML={{ __html: errorComponent }} />
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
const { staticMarkup, __NEXT_DATA__ } = this.context._documentProps
|
const { staticMarkup, __NEXT_DATA__ } = this.context._documentProps
|
||||||
|
const { pathname, buildId } = __NEXT_DATA__
|
||||||
|
|
||||||
return <div>
|
return <div>
|
||||||
{staticMarkup ? null : <script dangerouslySetInnerHTML={{
|
{staticMarkup ? null : <script dangerouslySetInnerHTML={{
|
||||||
__html: `__NEXT_DATA__ = ${htmlescape(__NEXT_DATA__)}; module={};`
|
__html: `__NEXT_DATA__ = ${htmlescape(__NEXT_DATA__)}; module={};`
|
||||||
}} />}
|
}} />}
|
||||||
{staticMarkup ? null : this.getMainComponents()}
|
<script type='text/javascript' src={`/_next/${buildId}/page${pathname}`} />
|
||||||
|
<script type='text/javascript' src={`/_next/${buildId}/page/_error`} />
|
||||||
{staticMarkup ? null : this.getScripts()}
|
{staticMarkup ? null : this.getScripts()}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,18 @@ export default class Server {
|
||||||
await this.serveStatic(req, res, p)
|
await this.serveStatic(req, res, p)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'/_next/:buildId/page/_error': async (req, res, params) => {
|
||||||
|
if (!this.handleBuildId(params.buildId, res)) {
|
||||||
|
const error = new Error('INVALID_BUILD_ID')
|
||||||
|
const customFields = { buildIdMismatched: true }
|
||||||
|
|
||||||
|
return await renderScriptError(req, res, '/_error', error, customFields, this.renderOpts)
|
||||||
|
}
|
||||||
|
|
||||||
|
const p = join(this.dir, '.next/client-bundles/pages/_error.js')
|
||||||
|
await this.serveStatic(req, res, p)
|
||||||
|
},
|
||||||
|
|
||||||
'/_next/:buildId/page/:path*': async (req, res, params) => {
|
'/_next/:buildId/page/:path*': async (req, res, params) => {
|
||||||
const paths = params.path || ['']
|
const paths = params.path || ['']
|
||||||
const page = `/${paths.join('/')}`
|
const page = `/${paths.join('/')}`
|
||||||
|
|
|
@ -131,10 +131,19 @@ export async function renderScriptError (req, res, page, error, customFields, op
|
||||||
if (error.code === 'ENOENT') {
|
if (error.code === 'ENOENT') {
|
||||||
res.setHeader('Content-Type', 'text/javascript')
|
res.setHeader('Content-Type', 'text/javascript')
|
||||||
res.end(`
|
res.end(`
|
||||||
|
function loadPage () {
|
||||||
var error = new Error('Page not exists: ${page}')
|
var error = new Error('Page not exists: ${page}')
|
||||||
error.pageNotFound = true
|
error.pageNotFound = true
|
||||||
error.statusCode = 404
|
error.statusCode = 404
|
||||||
NEXT_PAGE_LOADER.registerPage('${page}', error)
|
NEXT_PAGE_LOADER.registerPage('${page}', error)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (window.NEXT_PAGE_LOADER) {
|
||||||
|
loadPage()
|
||||||
|
} else {
|
||||||
|
window.NEXT_LOADED_PAGES = window.NEXT_LOADED_PAGES || []
|
||||||
|
window.NEXT_LOADED_PAGES.push(loadPage)
|
||||||
|
}
|
||||||
`)
|
`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -146,8 +155,17 @@ export async function renderScriptError (req, res, page, error, customFields, op
|
||||||
}
|
}
|
||||||
|
|
||||||
res.end(`
|
res.end(`
|
||||||
|
function loadPage () {
|
||||||
var error = ${JSON.stringify(errorJson)}
|
var error = ${JSON.stringify(errorJson)}
|
||||||
NEXT_PAGE_LOADER.registerPage('${page}', error)
|
NEXT_PAGE_LOADER.registerPage('${page}', error)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (window.NEXT_PAGE_LOADER) {
|
||||||
|
loadPage()
|
||||||
|
} else {
|
||||||
|
window.NEXT_LOADED_PAGES = window.NEXT_LOADED_PAGES || []
|
||||||
|
window.NEXT_LOADED_PAGES.push(loadPage)
|
||||||
|
}
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue