React-hot-loader: `hot` не смог найти` имя` предоставленного вами модуля - PullRequest
0 голосов
/ 05 февраля 2020

Я использую Webpack 4 для создания проекта React с хуками, и я пытаюсь получить изменения для перезагрузки на странице в реальном времени, используя react-hot-loader, следуя этому учебнику .

Но я, когда я пытаюсь npm start, я получаю следующую ошибку в браузере:

Ошибка: React-hot-loader: hot не удалось найти name файла module, который вы

Это мое App.js содержание:

import React from 'react';
import { hot } from 'react-hot-loader';
import Header from './Header';

function App() {

  return (
    <section className="main">
      <Header />
    </section>
  );
}
export default hot(App);

Поочередно я попытался импортировать hot из react-hot-loader/root, но при этом я получаю другую ошибку:

Ошибка: React-Hot-Loader: react-hot-loader/root не поддерживается в вашей системе. Пожалуйста, используйте import {hot} from "react-hot-loader" вместо

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2020

Что ж, глядя на мои конфиги веб-пакета:

  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify(env.NODE_ENV) }),
  ],
  devServer: {
    contentBase: './dist',
    hot: true,
  },

Я использовал webpack.HotModuleReplacementPlugin() в плагинах и hot: true в devServer, который сделал вторую ошибку, если бы я использовал react-hot-loader/root.

Поэтому удаление new webpack.HotModuleReplacementPlugin() из webpack.config.js решило мою проблему.

0 голосов
/ 05 февраля 2020

Вы должны требовать его, прежде чем реагировать:

import { hot } from 'react-hot-loader/root';
import React from 'react';

В пакете Документация упоминает об этом.

...