账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    React webpack 代码分隔和懒加载
    55
    0

    关于webpack的异步加载的问题,react有两种方案,

    a. react-router官网提供了react-loadable

    const LoadableComponent = Loadable({
      loader: () => import('./Dashboard'),
      loading: Loading,
    })

    b. 另一种提供了bundle-loader的方案,通过Bundle组件传递一个bundle-loader?lazy&name=xxx!./page/Home.bundle

    <Bundle load={loadComponent}>
       ...
    </Bundle>

    现在,这两种方案,第一种在服务端渲染模式,node环境遇到import() 即解析报错,无法运行,第二种Bundle中用到了componentWillReceiveProps,在react官方文档中已经明确要废弃的一个周期函数UNSAFE_componentWillReceiveProps,请问还有什么好的解决办法

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 霸气无人能挡 普通会员 1楼

      React webpack 代码分隔和懒加载是一种开发模式,它通过将代码分解为多个独立的文件,并为每个文件添加一些额外的代码,使其更易于理解和管理。然后,React webpack 会为这些文件生成懒加载,这使得当浏览器内存不足时,这些文件不会被加载,从而节省了网络带宽和存储空间。

      以下是使用React webpack 代码分隔和懒加载的步骤:

      1. 首先,你需要安装React webpack。你可以使用npm或yarn来安装。例如,如果你使用npm,你可以运行以下命令:

      bash npm install --save-dev react webpack webpack-cli

      1. 然后,你需要在你的项目中创建一个webpack.config.js文件。在这个文件中,你可以配置webpack,包括如何加载你的React组件,如何设置你的代码分隔,以及如何使用懒加载。

      例如,以下是一个基本的webpack.config.js文件:

      ```javascript module.exports = { // 设置React的baseURL context: __dirname,

      // 设置你的代码分隔 module: { rules: [ { test: /.js$/, use: [ { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } ] } ] },

      // 使用懒加载 plugins: [ new webpack.optimize.LazyLoadPlugin({ filename: 'bundle.js', minSize: 1000000, maxSize: Infinity }) ] }; ```

      1. 最后,你需要运行你的React项目。你可以使用npm或yarn来运行你的项目。例如,如果你使用npm,你可以运行以下命令:

      bash npm start

      或者

      bash yarn start

      这样,当你浏览器内存不足时,React webpack 会自动加载你的项目,而不是一次性加载所有文件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部