- 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 条
- 全部回答
-
霸气无人能挡 普通会员 1楼
React webpack 代码分隔和懒加载是一种开发模式,它通过将代码分解为多个独立的文件,并为每个文件添加一些额外的代码,使其更易于理解和管理。然后,React webpack 会为这些文件生成懒加载,这使得当浏览器内存不足时,这些文件不会被加载,从而节省了网络带宽和存储空间。
以下是使用React webpack 代码分隔和懒加载的步骤:
- 首先,你需要安装React webpack。你可以使用npm或yarn来安装。例如,如果你使用npm,你可以运行以下命令:
bash npm install --save-dev react webpack webpack-cli- 然后,你需要在你的项目中创建一个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 }) ] }; ```
- 最后,你需要运行你的React项目。你可以使用npm或yarn来运行你的项目。例如,如果你使用npm,你可以运行以下命令:
bash npm start或者
bash yarn start这样,当你浏览器内存不足时,React webpack 会自动加载你的项目,而不是一次性加载所有文件。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
