ReactDOM.render没有生效

react render的时候没有组件渲染到模板的id="root"节点下?
为什么
clipboard.png
代码如下:
index.html

    <!DOCTYPE html>
        <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>index page</title>
    </head>
    <body>
      <div id="root">template...</div>
    </body>
    </html>

index.tsx

    class App extends React.Component {
    public render () {
        return (
                <div>app...</div>
            )
        }
    }
    ReactDOM.render(
        <App />, // App 没有成功渲染?
        document.getElementById('root')
    )

找到原因了,是我webpack配置的问题
这里chunks 是common

new HTMLPlugin({
                    filename: key + '.html',
                    template: fileName,
                    chunks: ['common', key] // script引入的.js
                }))

optimization配置 name: 'vendor'导致vendor没有被引入html中

    
    optimization: {
        splitChunks:{
            cacheGroups:{
                common: {
                    test: /[\\/]node_modules[\\/]/,
                    chunks: 'all',
                    name: 'vendor' 
                }

            }
        }
    }
阅读 5.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题