基于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 相关文章推荐
IE网页js语法错误2行字符1、FF中正常的解决方法
Sep 09 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
Sep 23 Javascript
JavaScript简单表格编辑功能实现方法
Apr 16 Javascript
学习JavaScript设计模式之状态模式
Jan 08 Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 Javascript
原生JS实现图片懒加载(lazyload)实例
Jun 13 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
js实现简单模态框实例
Nov 16 Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 Javascript
JS立即执行的匿名函数用法分析
Nov 04 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
分享几个JavaScript运算符的使用技巧
Apr 24 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
event.srcElement 用法笔记e.target
2009/12/18 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
异步加载script的代码
2011/01/12 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python splitlines使用技巧
2008/09/06 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
西部世纪面试题
2014/12/05 面试题
品管员岗位职责
2013/11/10 职场文书
海南地接欢迎词
2014/01/14 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
党支部意见范文
2015/06/02 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL