使用热重载器时无法解析模块"webpack/hot/emitter" [英] Cannot resolve module 'webpack/hot/emitter' while using hot reloader

查看:156
本文介绍了使用热重载器时无法解析模块"webpack/hot/emitter"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在现有应用程序中实现react-hot-loader.我遵循了教程,并使用了该链接,如本教程中所建议.然后,当我使用yarn start启动节点服务器时,出现以下错误:

I am trying to implement react-hot-loader in my existing application. I followed the tutorial, and used the boilerplate file from this link as suggested in the tutorial. Then, when I start the node server using yarn start, I get the following error:

ERROR in (webpack)-dev-server/client?http://0.0.0.0:3000
Module not found: Error: Cannot resolve module 'webpack/hot/emitter' in /Users/Rai/Documents/github/sarvahitey-core/client/node_modules/webpack-dev-server/client
 @ (webpack)-dev-server/client?http://0.0.0.0:3000 153:19-49
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 1.78 kB [rendered]
        [0] ./~/css-loader?modules=true&localIdentName=[name]__[local]___[hash:base64:5]!./app/client/components/navbar/navbar.css 274 bytes {0} [built]
        [1] ./~/css-loader/lib/css-base.js 1.51 kB {0} [built]
webpack: Failed to compile.

这是我的webpack配置文件:

Here is my webpack config file:

var ExtractTextPlugin = require('extract-text-webpack-plugin');
var combineLoaders = require('webpack-combine-loaders');
var webpack = require('webpack');

module.exports = {
  context: __dirname,
  entry: [
    'webpack-dev-server/client?http://0.0.0.0:3000', // WebpackDevServer host and port
    'webpack/hot/only-dev-server', // "only" prevents reload on syntax errors
    './app/StartUp.js'
  ],
  output: {
    path: __dirname + "/../app/assets/webpack",
    filename: "[name].js"
  },
  resolve: {
    extensions: ['', '.js', '.jsx', '.css'],
  },
  module: {
    loaders: [
      { test: /\.jsx?$/,
        loaders: ['react-hot','babel?presets[]=es2015,presets[]=stage-0,presets[]=react,plugins[]=transform-runtime'],
        exclude: /node_modules/
      },
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract(
            'style-loader',
            combineLoaders([{
              loader: 'css-loader',
              query: {
                modules: true,
                localIdentName: '[name]__[local]___[hash:base64:5]'
              }
            }])
        )
      }
    ]
  },
  plugins: [
    new ExtractTextPlugin("main.css"),
    new webpack.HotModuleReplacementPlugin()
  ]
};

我的package.json文件具有以下配置:

And my package.json file has the following config:

{
  "dependencies": {
    "babel-core": "^6.22.1",
    "babel-loader": "^6.2.10",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-polyfill": "^6.22.0",
    "babel-preset-es2015": "^6.22.0",
    "babel-preset-react": "^6.22.0",
    "babel-preset-stage-0": "^6.22.0",
    "babel-runtime": "^6.22.0",
    "css-loader": "^0.26.1",
    "extract-text-webpack-plugin": "^1.0.1",
    "react": "^15.4.2",
    "react-dom": "^15.4.2",
    "react-on-rails": "^6.4.2",
    "react-redux": "^5.0.2",
    "react-router": "^3.0.2",
    "style-loader": "^0.13.1",
    "webpack": "^1.14.0",
    "webpack-combine-loaders": "^2.0.3",
    "webpack-dev-server": "^2.3.0"
  },
  "devDependencies": {
    "react-hot-loader": "^1.3.1",
    "webpack-dev-middleware": "^1.10.0",
    "webpack-hot-middleware": "^2.16.1"
  },
  "scripts": {
    "start": "node server.js"
  }
}

任何想法为何会出现上述错误?我尝试用相同的方式搜索Google,但找不到Cannot resolve module 'webpack/hot/emitter'的任何内容.

Any ideas why I am getting the above error? I tried to google the same but couldn't find anything for Cannot resolve module 'webpack/hot/emitter'.

推荐答案

如果要使用webpack@1.14,请改为安装webpack-dev-server@1.16.3.

If you want use webpack@1.14, please install webpack-dev-server@1.16.3 instead.

这篇关于使用热重载器时无法解析模块"webpack/hot/emitter"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆