webpack 2多个条目,但使用反应热装载机

时间:2017-02-16 11:15:33

标签: javascript reactjs webpack

我用过这个,它可以在webpack 1中使用

entry: {
    vendor  : ['react', 'react-dom', 'react-router', 'classnames', 'lodash', 'alt'],
    app     : ['webpack-dev-server/client?http://localhost:8080',
                'webpack/hot/only-dev-server',
                path.resolve(__dirname, PATHS.app, 'entries', 'app.js')],
         otherFile : ['webpack-dev-server/client?http://localhost:8080',
                'webpack/hot/only-dev-server',
                path.resolve(__dirname, PATHS.app, 'entries', 'otherFile.js')]
}

但是这在webpack 2中不起作用,当我删除登陆属性时它起作用了。我如何使用HMR和多个entires?在本指南https://webpack.js.org/guides/hmr-react/中,它使用了数组,但在我的情况下,我还使用了多个条目。

1 个答案:

答案 0 :(得分:0)

你可以添加完整的配置吗?

我遇到了一个问题,但事实证明罪魁祸首是一个配置错误的代理。

我把它设置为类似webpack 1的东西:

   proxy: {
        '/api*': {
            target: 'http://0.0.0.0:3000',
            secure: false
        },
        '/admin': {
            bypass: () => 'admin.html'
        }
    },

但在webpack 2中,我不得不将其更改为:

     proxy: {
        '/api': {
            target: 'http://0.0.0.0:3000',
            secure: false,
            bypass: (req, res, opts) => {
                if (req.originalUrl === '/admin') {
                    return 'admin.html';
                }
            }
        }
    },

在你的文件中,你想把path.resolve指向哪里?我在根目录下有webpack配置,它让我这样做:

entry: {
    main: [
         'babel-polyfill',
         'whatwg-fetch',
         'react-hot-loader/patch',
         'webpack-dev-server/client?http://0.0.0.0:8000',
         'webpack/hot/only-dev-server',
         './app/components/main.jsx'
    ]
}