I'm getting an endless loop when using the async option on CommonChunksPlugin.
This config will create a chunk file for common pieces spread throughout split code. If you use the same common components on multiple split pages, it will place the goods in this chunk file.
It seems that the module loading never completes and it goes into an endless loop with modulesLoading always set to 1. This can be seen by making the following changes to react-router-server-complex-example:
diff --git a/src/components/About.jsx b/src/components/About.jsx
index d7bae53..a1a902b 100644
--- a/src/components/About.jsx
+++ b/src/components/About.jsx
@@ -1,4 +1,7 @@
import * as React from 'react';
+import hello from './Common';
+
+hello()
const Component = (props) => (
<div>
diff --git a/src/components/Common.js b/src/components/Common.js
new file mode 100644
index 0000000..f08ec80
--- /dev/null
+++ b/src/components/Common.js
@@ -0,0 +1,4 @@
+
+export default () => {
+ console.log('hello world!')
+}
diff --git a/src/components/Home.jsx b/src/components/Home.jsx
index 0ad06d4..a3fe950 100644
--- a/src/components/Home.jsx
+++ b/src/components/Home.jsx
@@ -1,6 +1,9 @@
import React, { Component, PropTypes } from 'react';
import { fetchState } from 'react-router-server';
import '../styles/home.css';
+import hello from './Common';
+
+hello()
@fetchState(
state => ({
diff --git a/src/components/Images.jsx b/src/components/Images.jsx
index a97e338..9ca0563 100644
--- a/src/components/Images.jsx
+++ b/src/components/Images.jsx
@@ -1,4 +1,7 @@
import * as React from 'react';
+import hello from './Common';
+
+hello()
const Images = (props) => (
<div>
diff --git a/webpack.config.js b/webpack.config.js
index d367e06..a9bef18 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -2,6 +2,7 @@ import path from 'path';
import StatsPlugin from 'stats-webpack-plugin';
import fs from 'fs';
import ExtractTextPlugin from 'extract-text-webpack-plugin';
+import webpack from 'webpack'
const nodeModules = {};
fs.readdirSync(path.join(__dirname, 'node_modules'))
@@ -47,6 +48,10 @@ const config = server => ({
},
plugins: [
+ new webpack.optimize.CommonsChunkPlugin({
+ async: 'common',
+ minChunks: 2
+ }),
new StatsPlugin('stats.json', {
chunkModules: true,
exclude: [/node_modules/]
Visiting any page that references the common chunk will spin indefinitely.
I'm getting an endless loop when using the
asyncoption on CommonChunksPlugin.This config will create a chunk file for common pieces spread throughout split code. If you use the same common components on multiple split pages, it will place the goods in this chunk file.
It seems that the module loading never completes and it goes into an endless loop with
modulesLoadingalways set to 1. This can be seen by making the following changes toreact-router-server-complex-example:Visiting any page that references the common chunk will spin indefinitely.