Webpack(4)热模块重载从畸形URI中获取更新清单
Webpack (4) hot module reloading fetches update manifest from malformed URI
当 Webpack 尝试获取更新 JSON 文件时,失败并显示控制台错误消息:
[HMR] Update failed: Error: Manifest request to https://subdomain.localhost23dae8e1865781c26fcd.hot-update.json timed out.
注意在 TLD 和路径之间省略了一个斜线…
开发服务器配置:
{
public: `subdomain.localhost`,
publicPath: 'https://subdomain.localhost/',
port: 9000,
https: false,
contentBase: path.join(__dirname),
watchContentBase: true,
historyApiFallback: true,
compress: true,
hot: true
};
需要什么配置来确保更新清单将从正确的路径加载?
我们 dev/prod 环境中没有其他部分出现故障……这导致
我相信配置错误存在于一个利基市场。
https://subdomain.localhost/webpack-dev-server 指向有效资产的链接
在正确的URL
我认为 publicPath
应该只是 /
而不是完整路径。
令人惊讶的是,热模块替换插件实际上会查看 config.output.publicPath
属性 而不是 config.devServer.[static].publicPath
值。
devServer.static.publicPath
(或 WDS < 4,devServer.publicPath
)应该 与 output.publicPath
相同。
更正输出 属性 以使用完整路径 https://subdomain.localhost/
可以解决此问题。
当 Webpack 尝试获取更新 JSON 文件时,失败并显示控制台错误消息:
[HMR] Update failed: Error: Manifest request to https://subdomain.localhost23dae8e1865781c26fcd.hot-update.json timed out.
注意在 TLD 和路径之间省略了一个斜线…
开发服务器配置:
{
public: `subdomain.localhost`,
publicPath: 'https://subdomain.localhost/',
port: 9000,
https: false,
contentBase: path.join(__dirname),
watchContentBase: true,
historyApiFallback: true,
compress: true,
hot: true
};
需要什么配置来确保更新清单将从正确的路径加载?
我们 dev/prod 环境中没有其他部分出现故障……这导致 我相信配置错误存在于一个利基市场。
https://subdomain.localhost/webpack-dev-server 指向有效资产的链接 在正确的URL
我认为 publicPath
应该只是 /
而不是完整路径。
令人惊讶的是,热模块替换插件实际上会查看 config.output.publicPath
属性 而不是 config.devServer.[static].publicPath
值。
devServer.static.publicPath
(或 WDS < 4,devServer.publicPath
)应该 与 output.publicPath
相同。
更正输出 属性 以使用完整路径 https://subdomain.localhost/
可以解决此问题。