基于webpack-hot-middleware热加载相关错误的解决方法


Posted in Javascript onFebruary 22, 2018

错误1:找不到__webpack_hmr

GET http://127.0.0.1/__webpack_hmr 404 (Not Found)

在webpack的entry配置添加引用路径'webpack-hot-middleware/client?path=/__webpack_hmr&timeout=10000&reload=true',相关的参数最好不要省略,否则会出现无法自动刷新的问题。

处理脚本如下:

// 准备webpack配置信息
let hotMiddlewareScript = 'webpack-hot-middleware/client?path=/__webpack_hmr&timeout=10000&reload=true',
 wpConfig = require('./webpack.config'),
 // 准备修改配置信息
 entries = Object.keys(wpConfig.entry)

// 添加热加载信息
entries.forEach((key) => {
 wpConfig.entry[key].push(hotMiddlewareScript);
})

// 添加插件信息
if(wpConfig.plugins === undefined) {
 wpConfig.plugins = []
}

// 添加热加载插件
wpConfig.plugins.push(
 new webpack.optimize.OccurrenceOrderPlugin(),
 new webpack.HotModuleReplacementPlugin(),
 new webpack.NoEmitOnErrorsPlugin())

错误2:找不到hot-update.json

main.bundle.js:30 GET http://127.0.0.1/static/44588e3474a86cea5670.hot-update.json 404 (Not Found)

webpack配置中的publicPath必须是绝对地址,详细配置如下所示:

module.exports = {
 // 其他配置信息略
 // ……
 output : {
 path: configs.dist,
 // 必须是绝对地址
 publicPath: 'http://127.0.0.1/static/',
 filename : '[name].bundle.js',
 libraryTarget : 'var' 
 }
}

错误3:No ‘Access-Control-Allow-Origin' header

XMLHttpRequest cannot load http://127.0.0.1/static/df222441abc9ddb6a616.hot-update.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

不可思议,在本地访问竟然会出现AJAX跨域问题,仔细检查后发现,浏览器把localhost与127.0.0.1当成了两个不同的域,解决的方法很多,只说最简单的一种,访问应用时,尽量采用与webpack配置中的publicPath完全一致的路径,如在本文中,最好的访问方法是输入http://127.0.0.1/访问本地应用。

错误4:OccurenceOrderPlugin构造器错误

new webpack.optimize.OccurenceOrderPlugin(),
TypeError: webpack.optimize.OccurenceOrderPlugin is not a constructor
 at Object.<anonymous> (E:\Workspace\vue-hot\dev-server.js:23:6)
 at Module._compile (module.js:570:32)
 at Object.Module._extensions..js (module.js:579:10)
 at Module.load (module.js:487:32)
 at tryModuleLoad (module.js:446:12)
 at Function.Module._load (module.js:438:3)
 at Module.runMain (module.js:604:10)
 at run (bootstrap_node.js:394:7)
 at startup (bootstrap_node.js:149:9)
 at bootstrap_node.js:509:3

此问题一般出现在webpack 2中,解决办法很简单,将OccurenceOrderPlugin改为OccurrenceOrderPlugin即可。

总结

webpack编译程序有两种热加载方式,webpack-dev-server与webpack-hot-middleware方式,从webpack 2的性能来看,webpack-dev-server完全能够满足开发的需要,但最大的问题在于,webpack-dev-server不能向外发布服务,只能在本地访问。

以上这篇基于webpack-hot-middleware热加载相关错误的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript下高性能字符串连接StringBuffer类
Aug 16 Javascript
jWiard 基于JQuery的强大的向导控件介绍
Oct 28 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
动态标签 悬停效果 延迟加载示例代码
Nov 21 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
Feb 21 Javascript
javascript中parseInt()函数的定义和用法分析
Dec 20 Javascript
实现placeholder效果的方案汇总
Jun 11 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
JS面向对象实现飞机大战
Aug 26 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 #Javascript
webpack-dev-server自动更新页面方法
Feb 22 #Javascript
javascript高仿热血传奇游戏实现代码
Feb 22 #Javascript
实现jquery放大镜的两种方法
Feb 22 #jQuery
JavaScript正则表达式函数总结(常用)
Feb 22 #Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
Feb 22 #Javascript
原生js调用json方法总结
Feb 22 #Javascript
You might like
一个PHP数组应该有多大的分析
2009/07/30 PHP
composer.lock文件的作用
2016/02/03 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
使用JQuery实现的分页插件分享
2015/11/05 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
angularJS开发注意事项
2018/05/26 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
python抖音表白程序源代码
2019/04/07 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
Python常用编译器原理及特点解析
2020/03/23 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
资源环境与城市管理专业推荐信
2013/11/30 职场文书
教师求职信范文
2014/05/24 职场文书
办公用品质量保证书
2015/05/11 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python