基于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 &amp; DHTML 实例编程(教程)基础知识
Jun 02 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
原生JS实现表单checkbook获取已选择的值
Jul 21 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
详解JavaScript的while循环的使用
Jun 03 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
javascript的理解及经典案例分析
May 20 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 Javascript
vue2.0结合Element-ui实战案例
Mar 06 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
做一个有下拉功能的留言版
2006/10/09 PHP
php 启动报错如何解决
2014/01/17 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python写入中英文字符串到文件的方法
2015/05/06 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
英国绿色商店:Natural Collection
2019/05/03 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
Java的五个基础面试题
2016/02/26 面试题
写演讲稿要注意的六件事
2014/01/14 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
创建文明城市倡议书
2015/04/28 职场文书
收入证明范本
2015/06/12 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers