wake-up-neo.com

Reagiere Webpack - Fehler: Modul ist kein Loader (muss Normal- oder Pitch-Funktion haben)

Meine webpack.config.js

var path = require("path")
var webpack = require('webpack')
var BundleTracker = require('webpack-bundle-tracker')

module.exports = {
    context: __dirname,

    entry: [
        'webpack-dev-server/client?http://localhost:3000',
        'webpack/hot/only-dev-server',
        './assets/js/index', // entry point of our app. assets/js/index.js should require other js modules and dependencies it needs
    ],

    output: {
        path: path.resolve('./assets/bundles/'),
        filename: "[name]-[hash].js",
        publicPath: 'http://localhost:3000/assets/bundles/', // Tell Django to use this URL to load packages and not use STATIC_URL + bundle_name
    },

    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoEmitOnErrorsPlugin(), // don't reload if there is an error
        new BundleTracker({filename: './webpack-stats.json'}),
    ],

    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /node_modules/,
                loaders: ['react-hot-loader', 'babel-loader?presets[]=react'],
            }, // to transform JSX into JS
        ],
    },

    resolve: {
        modules: ['node_modules', 'bower_components'],
        extensions: ['.js', '.jsx']
    },
} 

Error:

Fehler: Modul 'C:\Workspace\PyCharmProjects\ProjectPearl\node_modules\react-hot-loader\index.js' Ist kein Loader (muss über eine Normal- oder Pitch-Funktion verfügen)

Sieht aus, als hätten einige durch das Hinzufügen von -loader-Erweiterung für Module funktioniert ( https://github.com/webpack/webpack/issues/3180 ), jedoch für mich immer noch nicht aufgelöst. 

Bitte helfen.

8
theblackpearl

Ich denke, die Verwendung ist react-hot-loader/webpack

loaders: ['react-hot-loader/webpack', 'babel-loader?presets[]=react'],

Hier finden Sie einige Beispielanwendungen http://gaearon.github.io/react-hot-loader/getstarted/

20
Mukesh Soni

Das Problem kann aufgrund einer nicht übereinstimmenden Version von Reakt-Hot-Loader-abhängigen Bibliotheken auftreten. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass alle Abhängigkeiten im Zusammenhang mit dem Reaktiv-Hot-Loader ordnungsgemäß in package.json konfiguriert sind.

  • npm install (wenn Sie bereits alle Abhängigkeiten installiert haben, ist dies nicht erforderlich)
  • npm entfernen --save-dev Reakt-Heißladeprogramm
  • npm install --save response-hot-loader @<specific-version>

in meinem Fall war die spezifische Version 1.3.1

0
Techflash