fix: publicPath is not reactive in dev restarting (#5227)

This commit is contained in:
Xin Du (Clark) 2019-03-13 19:15:26 +00:00 committed by Pooya Parsa
parent 320a46fe26
commit 1fb7538dfe

View File

@ -23,17 +23,13 @@ const isModernBrowser = (ua) => {
return Boolean(modernBrowsers[browser.name] && semver.gte(browserVersion, modernBrowsers[browser.name]))
}
let detected = false
const distinctModernModeOptions = [false, 'client', 'server']
const detectModernBuild = ({ options, resources }) => {
if (detected || distinctModernModeOptions.includes(options.modern)) {
if (distinctModernModeOptions.includes(options.modern)) {
return
}
detected = true
if (!resources.modernManifest) {
options.modern = false
return
@ -52,10 +48,16 @@ const detectModernBrowser = ({ socket = {}, headers }) => {
return socket.isModernBrowser
}
export default ({ context }) => (req, res, next) => {
detectModernBuild(context)
if (context.options.modern !== false) {
req.modernMode = detectModernBrowser(req)
export default ({ context }) => {
let detected = false
return (req, res, next) => {
if (!detected) {
detectModernBuild(context)
detected = true
}
if (context.options.modern !== false) {
req.modernMode = detectModernBrowser(req)
}
next()
}
next()
}