描述
您在报告的内容:我正在关注如何设置React hot loarder的set of instructions.但是当我进入第3步,我把补丁放到第3步时,它就会突破到下面的那个.
预期的行为
您认为应该发生什么:应该正常工作
实际行为
环境
React Hot Loader版本:下一步
在项目文件夹中运行这些命令并填写其结果:
> node -v:7.9.0
> npm -v:4.2.0
然后,指定:
>操作系统:Windows 10
>浏览器和版本:最新的Chrome
可重复的演示
https://github.com/abarcenas29/preact-sandbox-v0/blob/wip/hot-reloader/src/main.js
分支:wip-hot-reloader
说明:
>纱线
>纱线后安装
>纱线运行开始:开发
我没有足够的声誉发表评论,所以我必须写一个答案,这不是问题的解决方案,但仍然……
您收到的错误是由于react-hot-loader / patch需要实际的react模块并使用新的功能修补其createElement功能.
在此处查看:react-hot-loader / lib / patch.dev.js:179
主要问题是在webpack config反应模块中解析为preact-compat,这显然不允许设置新值,因此Hot Reload无法一起运行.
希望这能回答你的问题.照原样 – 我认为热重装不会在该设置中起作用.
编辑:
找到一个简单的解决方
将webpack.config.js解析块更改为此,以指向您自己的脚本的响应:
// resolve for preact webpack.resolve = { alias: { react: path.resolve(__dirname,'react.js') // the rest goes as before } }
现在创建react.js文件并将其放入内部(根据需要更改路径和名称):
var preact = require('preact-compat'); var react = {}; // Copy object properties to a new object which will allow react-hot-loader to do its magic Object.keys(preact).forEach(function(key) { react[key] = preact[key]; }); module.exports = react;
并做了! HMR现在正在运作.