forked from vercel/next.js
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add CDN support with assetPrefix (vercel#1700)
* Introduce script tag based page loading system. * Call ensurePage only in the dev mode. * Implement router using the page-loader. * Fix a typo and remove unwanted code. * Fix some issues related to rendering. * Fix production tests. * Fix ondemand test cases. * Fix unit tests. * Get rid of eval completely. * Remove all the inline code. * Remove the json-pages plugin. * Rename NEXT_PAGE_LOADER into __NEXT_PAGE_LOADER__ * Rename NEXT_LOADED_PAGES into __NEXT_LOADED_PAGES__ * Remove some unwanted code. * Load everything async. * Remove lib/eval-script.js We no longer need it. * Move webpack idle wait code to the page-loader. Because that's the place to do it. * Remove pageNotFound key from the error. * Remove unused error field 'buildError' * Add much better logic to normalize routes. * Get rid of mitt. * Introduce a better way to register pages. * Came back to the mitt() based page-loader. * Add link rel=preload support. * Add assetPrefix support to add support for CDNs. * Add assetPrefix support for preload links. * Update readme.md
- Loading branch information
Showing
24 changed files
with
504 additions
and
381 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
import next from './' | ||
|
||
next() | ||
.catch((err) => { | ||
console.error(`${err.message}\n${err.stack}`) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,50 @@ | ||
import webpackHotMiddlewareClient from 'webpack-hot-middleware/client?overlay=false&reload=true&path=/_next/webpack-hmr' | ||
import Router from '../lib/router' | ||
|
||
const handlers = { | ||
reload (route) { | ||
if (route === '/_error') { | ||
for (const r of Object.keys(Router.components)) { | ||
const { err } = Router.components[r] | ||
if (err) { | ||
// reload all error routes | ||
// which are expected to be errors of '/_error' routes | ||
Router.reload(r) | ||
export default () => { | ||
const handlers = { | ||
reload (route) { | ||
if (route === '/_error') { | ||
for (const r of Object.keys(Router.components)) { | ||
const { err } = Router.components[r] | ||
if (err) { | ||
// reload all error routes | ||
// which are expected to be errors of '/_error' routes | ||
Router.reload(r) | ||
} | ||
} | ||
return | ||
} | ||
return | ||
} | ||
|
||
if (route === '/_document') { | ||
window.location.reload() | ||
return | ||
} | ||
if (route === '/_document') { | ||
window.location.reload() | ||
return | ||
} | ||
|
||
Router.reload(route) | ||
}, | ||
Router.reload(route) | ||
}, | ||
|
||
change (route) { | ||
if (route === '/_document') { | ||
window.location.reload() | ||
return | ||
} | ||
change (route) { | ||
if (route === '/_document') { | ||
window.location.reload() | ||
return | ||
} | ||
|
||
const { err } = Router.components[route] || {} | ||
if (err) { | ||
// reload to recover from runtime errors | ||
Router.reload(route) | ||
const { err } = Router.components[route] || {} | ||
if (err) { | ||
// reload to recover from runtime errors | ||
Router.reload(route) | ||
} | ||
} | ||
} | ||
} | ||
|
||
webpackHotMiddlewareClient.subscribe((obj) => { | ||
const fn = handlers[obj.action] | ||
if (fn) { | ||
const data = obj.data || [] | ||
fn(...data) | ||
} else { | ||
throw new Error('Unexpected action ' + obj.action) | ||
} | ||
}) | ||
webpackHotMiddlewareClient.subscribe((obj) => { | ||
const fn = handlers[obj.action] | ||
if (fn) { | ||
const data = obj.data || [] | ||
fn(...data) | ||
} else { | ||
throw new Error('Unexpected action ' + obj.action) | ||
} | ||
}) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.