基于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 相关文章推荐
htm调用JS代码
Mar 15 Javascript
js 上传图片预览问题
Dec 06 Javascript
使用GruntJS构建Web程序之安装篇
Jun 04 Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 Javascript
javascript实现倒计时N秒后网页自动跳转代码
Dec 11 Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 Javascript
jQuery animate easing使用方法图文详解
Jun 17 Javascript
最丑的时钟效果!js canvas时钟制作方法
Aug 15 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
深入浅析Vue.js中 computed和methods不同机制
Mar 22 Javascript
JavaScript和TypeScript中的void的具体使用
Sep 12 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
Nov 04 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验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
Vue项目打包编译优化方案
2020/09/16 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
python实现宿舍管理系统
2019/11/22 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
银河香水:Galaxy Perfume
2019/03/25 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
pytorch中的 .view()函数的用法介绍
2022/03/17 Python