Webpack输出chunk为commonjs2库

时间:2016-05-30 16:37:27

标签: reactjs webpack

我正在尝试制作一些React Isomorphic / Universal魔法,我需要能够在Node中require导出一个块。

我想做这样的事情:

webpack.config.js

module.exports = {
  entry: {
    index: [
      './src/index',
    ],
  },
  output: {
    path: path.join(__dirname, '/dist'),
    filename: '[name].js',
    chunkFilename: 'chunk-[name].js',
    libraryTarget: 'commonjs2',
  },
  ...
};

index.jsx

require.ensure(['./reducers', './routes'], (require) => {
  const rootReducer = require('./reducers');
  const routes = require('./routes');
  /* Store/routes/configuration stuff */
  ReactDOM.render(/* components */);
}, 'core');

所以这会输出两个文件:

  • index.js:由浏览器加载
  • chunk-core.js索引和节点服务器所需的

如果我将输出设置为类型为commonjs2的库,它可以在Node上运行,但不会生成我的浏览器包,所以我必须同时运行2个webpack配置:一个用于浏览器包,另一个用于另一个用于服务器库。

我想知道其中任何一种是否可能:

  • 输出一个块作为commonjs2库
  • 输出具有不同目标的块作为主输出
  • 在Node
  • 中导入标准的webpack块

0 个答案:

没有答案