基于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 相关文章推荐
js style动态设置table高度
Oct 21 Javascript
javascript实现控制浏览器全屏
Mar 30 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
Mar 20 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
js回调函数仿360开机
Dec 26 Javascript
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
JS运算符优先级与表达式示例详解
Sep 04 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 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三维数组去重(示例代码)
2013/11/26 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
Js切换功能的简单方法
2010/11/23 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
vue cli 全面解析
2018/02/28 Javascript
百度小程序自定义通用toast组件
2019/07/17 Javascript
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
python查询sqlite数据表的方法
2015/05/08 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
工商管理实习生自我鉴定范文
2013/12/18 职场文书
小学生演讲稿
2014/01/12 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
房屋过户委托书范本
2014/10/07 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
好媳妇事迹材料
2014/12/24 职场文书
行政处罚告知书
2015/07/01 职场文书
教育读书笔记
2015/07/02 职场文书
医院病假条怎么写
2015/08/17 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
bat批处理之字符串操作的实现
2022/03/16 Python