-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
全局progress进度条监听静态资源加载问题分析与解决 #8
Comments
问题使用dva开发单页面应用时,使用了插件dva-progress来做全局的进度条,以便提醒用户当前操作状态。 思路
可行性分析思路一: 思路二:
由以上代码可以看出,我们的业务逻辑在require.ensure的回调函数中定义的。要想统一处理业务问题,可以提供一个高阶函数处理该回调,通过为函数传递参数,决定异步加载哪一个文件。
思路三: 综上所述,我们采取思路二。 实施遇到的问题遇到的问题是,打包后的代码去异步加载js文件时,使用的js文件标识字符串是我们项目中的js文件的相对路径。该路径并未经过webpack的处理,故而无法加载本想加载的js文件。 问题分析以require.ensure举例,webpack在对代码进行编译打包的时候,每当遇到require.ensure内的require(‘./path/index.js’)时,会根据这个‘./path/index.js’字符串,在目录下寻找对应的js文件,然后编译它。 问题解决要处理以上问题我们需要显式地传递字符串去异步加载js文件。然后在加载后的回调中做一些需要的额外业务操作,例如关掉进度条。同时,我们需要在异步加载开始之前打开进度条。
总结一下该方法,就是: ps:匹配路由与异步加载js文件与渲染组件是三件事情,在处理该问题时,不能把这三件事混为一谈 |
No description provided.
The text was updated successfully, but these errors were encountered: