2016-06-21 18 views
0

Fehlerbeschreibung,Typeerror: ReactHotAPI ist keine Funktion

TypeError: ReactHotAPI is not a function 
<anonymous> 
bundle.js:2632 
<anonymous> 
bundle.js:2632 
<anonymous> 
bundle.js:2632 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:2572 
<anonymous> 
bundle.js:2572 
<anonymous> 
bundle.js:2572 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:2347 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:1491 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:1411 
<anonymous> 
bundle.js:1411 
<anonymous> 
bundle.js:1411 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:698 
<anonymous> 
bundle.js:698 
<anonymous> 
bundle.js:698 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:595 
<anonymous> 
bundle.js:595 
__webpack_require__() 
bundle.js:556 
hotCreateRequire/fn() 
bundle.js:87 
<anonymous> 
bundle.js:586 
__webpack_require__() 
bundle.js:556 
<anonymous> 
bundle.js:579 
<anonymous> 
bundle.js:1 
bundle.js:2632:318 

Mein Webconfig,

module.exports = { 
    ip: IP, 
    port: PORT, 
    devtool: 'source-map', 
    resolve: { 
    alias: { 
     'react-native': 'react-web', 
     'ReactNativeART': 'react-art', 
    }, 
    extensions: ['', '.js', '.jsx'], 
    }, 
    entry: isProd? [ 
    config.paths.index 
    ]: [ 
    'webpack-dev-server/client?http://' + IP + ':' + PORT, 
    'webpack/hot/only-dev-server', 
    config.paths.index, 
    ], 
    output: { 
    path: path.join(__dirname, 'output'), 
    filename: 'bundle.js' 
    }, 
    plugins: [ 
    new HasteResolverPlugin({ 
     platform: 'web', 
     nodeModules: ['react-web'] 
    }), 
    new webpack.DefinePlugin({ 
     'process.env': { 
     'NODE_ENV': JSON.stringify('development'), 
     } 
    }), 
    isProd? new webpack.ProvidePlugin({ 
     React: "react" 
    }): new webpack.HotModuleReplacementPlugin(), 
    new webpack.NoErrorsPlugin(), 
    new HtmlPlugin(), 
    ], 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loaders: ['react-hot', 'babel-loader?presets[]=es2015&presets[]=react&presets[]=stage-2&presets[]=stage-0'], 
     include: [config.paths.src], 
     exclude: '/node_module' 
     }, 
    { 
     test: /\.css$/, 
     loader: "style-loader!css-loader" 
    }, 
    { 
     test: /.*\.(gif|png|jpe?g|svg)$/i, 
     loader: 'file-loader' 
    }], 
    resolve: { 
     extensions: ['.js', '.jsx'] 
    } 
    } 
}; 

ich so viele Möglichkeiten versucht, dieses Problem zu beheben. Irgendwo geschrieben exclude Node-Module wird es funktionieren. Ja, es funktioniert nach dem Ausschließen. Ich baue Gifted separat für das Web, aber ich schließe keine Knotenmodule aus. Jetzt habe ich GiftedMessanger mit meiner Hauptanwendung integriert, dann habe ich eine echte grausame Sache von Webpack, wenn ich Node-Module ausschließe, dann wird die Haupt-App funktionieren und begabter Messenger wird es nicht tun. Wenn ich Knotenmodule nicht ausschließe, dann habe ich ReactHotAPI ist keine Funktion. Ich möchte den mittleren Weg, um beides zu befriedigen.

Antwort

1

Sie müssen node_modules in Ihren Loadern ausschließen - Sie ausgeschlossen node_module - ich denke, das sollte funktionieren.

loaders: [ 
     { 
     test: /\.jsx?$/, 
     loaders: ['react-hot', 'babel-loader?presets[]=es2015&presets[]=react&presets[]=stage-2&presets[]=stage-0'], 
     include: [config.paths.src], 
     exclude: '/node_modules/' 
     }, 
    { 
     test: /\.css$/, 
     loader: "style-loader!css-loader" 
    }, 
    { 
     test: /.*\.(gif|png|jpe?g|svg)$/i, 
     loader: 'file-loader' 
    }] 
+0

aufgelöst ich dieses Problem ohne Knotenmodul gleiche oben Mine Einstellung aber Problem ist, ich in meinem Projekt einige 3rd-Party-Bibliothek integriert, die Bibliothek auf einige Knotenmodule abhängig, so dass ich diese Knotenmodule enthalten müssen. – Tirth