Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用react hot时拆分供应商和应用程序_Reactjs_Webpack - Fatal编程技术网

Reactjs 使用react hot时拆分供应商和应用程序

Reactjs 使用react hot时拆分供应商和应用程序,reactjs,webpack,Reactjs,Webpack,我正在将react hot plugin与webpack一起使用,在我按照说明操作后,它会工作: module.exports = { entry: [ 'webpack-dev-server/client?http://localhost:8090', 'webpack/hot/only-dev-server', './src/index' ], output: { path: path.join(__di

我正在将react hot plugin与webpack一起使用,在我按照说明操作后,它会工作:

module.exports = {
    entry: [
        'webpack-dev-server/client?http://localhost:8090',
        'webpack/hot/only-dev-server',
        './src/index'
    ],
    output: {
        path: path.join(__dirname, 'dist'),
        filename: 'bundle.js',
        publicPath: '/static/'
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ],
    module: {
        loaders: [{
            test: /\.js$/,
            loaders: ['react-hot', 'babel'],
            include: path.join(__dirname, 'src')
        }]
    }
};
生成的
/static/bundle.js
包含所有库

虽然我想从我的应用程序中拆分供应商,但我尝试添加多个入口点:

module.exports = {
    entry: {
        app: ['./src/index'],
        vendor: [
            'webpack-dev-server/client?http://localhost:8090',
            'webpack/hot/only-dev-server'
        ]
    },
    output: {
        path: path.join(__dirname, 'dist'),
        filename: '[name].bundle.js',
        publicPath: '/static/'
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ],
    module: {
        loaders: [{
            test: /\.js$/,
            loaders: ['react-hot', 'babel'],
            include: path.join(__dirname, 'src')
        }]
    }
};
但是/static/app.bundle.js仍然包含
jquery,react…

这可能吗


更新这是@zerkms提到必须明确声明供应商后可以按预期工作的配置:

module.exports = {
    entry: {
        app: ['./src/index'],
        vendor: [
            'webpack-dev-server/client?http://localhost:8090',
            'webpack/hot/only-dev-server', 'react', 'jquery'
        ]
    },
    output: {
        path: path.join(__dirname, 'dist'),
        filename: 'app.bundle.js',
        publicPath: '/static/'
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.bundle.js')
    ],
    module: {
        loaders: [{
            test: /\.js$/,
            loaders: ['react-hot', 'babel'],
            include: path.join(__dirname, 'src')
        }]
    }
};

vendor:['jquery','react']
webpack/hot/only dev server如何??我不使用热重新加载,所以不确定。但是,如果您想将一些库提取到它们自己的包中,您必须显式地枚举它们(警告您,即使不使用它们,它们中的每一个都将被初始化(运行))谢谢,它起到了作用。查看我的更新。
供应商:['jquery','react']
关于
网页包/hot/only dev server
?我不使用热重新加载,所以不确定。但是,如果您想将一些库提取到它们自己的包中,您必须显式地枚举它们(警告您,即使不使用它们,它们中的每一个都将被初始化(运行))谢谢,它起到了作用。查看我的更新。