Webpack 4.16 не разделяет код при добавлении реакции-маршрутизатора-dom v4 - PullRequest
1 голос
/ 01 апреля 2019

Webpack не разделяет код при импорте response-router-dom.Я пытаюсь создать сервер рендеринга с разделением кода и горячей перезагрузкой.Я попытался изолировать проблему с помощью следующих примеров кода.
Что я делаю не так?

babel 7 webpack 4.16 узел 8.11 реагирует на 16,8

 .babelrc

  {
"presets": [
    "@babel/preset-react",
    "@babel/preset-env" 
],
"plugins": [
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-class-properties"
]
}


App.js 

import React,{Component} from 'react';
import {hydrate} from 'react-dom';

/* when adding this line all break*/ 
--->   import {Link } from 'react-router-dom'; <----

class App extends Component {

  constructor(props) {
    super(props);
    this.state = {};
    //console.log("constructor called SERVER/CLIENT ");
  }

   componentDidMount(){
     import(/* webpackChunkName: "test" */ 'history').then(()=>{
     console.log("Imported");
   })
    console.log("componentDidMount called CLIENT-HYDRATION")
 }

  render() {
    console.log("App render called ")
     return (
       <div>
        dd
       </div>
   )
   }
}

 hydrate(<App />, document.getElementById('root'));

Webpack

 const path = require('path');
 const webpack = require('webpack')
 const WriteFilePlugin = require('write-file-webpack-plugin')

 module.exports = {
    name: 'client',
    target: 'web',
    devtool: 'inline-source-map',
    mode: 'development',
 entry: [

   path.resolve(__dirname,'./spiltcode-code.js'),

],
output: {
   filename: '[hash].[name].js',
   chunkFilename: '[hash].[name].js',
path: path.resolve(__dirname, 'dist'),
} ,
module: {
  rules: [{
     test: /\.jsx?$/,
     exclude: /(node_modules)/,
    use: {
       loader: 'babel-loader',
    }
  }

  ]
},
plugins: [

new WriteFilePlugin(),

new webpack.DefinePlugin({
  'process.env': {
    NODE_ENV: JSON.stringify('development'),
    BROWSER: true
    }
  })
]
};

Я попробовал следующие

1.older версии response-router-dom 2. Включая polyfills на входе в webpack и app.js, как указано в babel

...