react执行出错:react-hot-loader\index.js' is not a loader

执行$ webpack-dev-server --inline --hot就会报错:react-hot-loaderindex.js' is not a loader (must have normal or pitch function)

我的webpack.config.js配置:

module.exports = {
    entry: "./entry.js",    //入口文件
    output: {                //打包以后生成的文件放到哪里,叫什么
        path: __dirname,    //存储路径,__dirname表示把生成的文件放在这个同一个目录下面,如果要是放到别的目录,如要放在app文件夹下,就是__dirname + "/app"
        filename: "bundle.js"
    },

    //devtool块,source-map来调试
    devtool:"source-map",

    // module表示要使用的模块
    module: {
        loaders: [        //设置使用的loader,是数组,每一个项都是一个对象
            {
                test: /\.js$/,
                exclude:/node_modules/,        //exclude排除不使用loader的目录
                loader: "react-hot-loader!babel-loader"
            },
            {
                test: /\.css$/,        //判断是不是css文件
                loader:"style-loader!css-loader"    //必须写-loader,不能简写,否则报错
            }
        ]
    }
};

name.js文件:

'use strict';    //严格模式

import React from "react";

class Name extends React.Component {    //定义一个react组件
    render() {
        return (
            <div>
                hello ~ ninghao.net <input />
            </div>
        );
    }
}

export { Name as default };

entry.js文件:

//导入组件
import React from "react";
import ReactDOM from "react-dom";
import Name from "./name.js";

ReactDOM.render(
    <Name />
    document.getElementById("app");
);

我一开始怀疑是不是因为 exclude:/node_modules/, 这里不对,因为我的所有文件都是放在node_modules目录的一个同级目录的里面的,我就把所有文件都拿出来放到了和node_modules同一级目录下,还是会报这个错误。之后我又删了node_modules全部重新下载,还是会报这个错误,不知道问题出在了哪里。。

阅读 4.8k
3 个回答
新手上路,请多包涵

entry: [

'react-hot-loader/patch',
'mian.js'

]

是不是入口需要加东西.

新手上路,请多包涵

急问 最后怎么解决的 我现在也遇到同样的问题呀

 entry: {
    app: [
      'react-hot-loader/patch',
      'webpack-hot-middleware/client?path=http://localhost:8083/__webpack_hmr',
      'webpack/hot/only-dev-server',
      './src/entry'
    ],
  },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏