我正在构建一个网页应用程序(使用ES6编写的React应用程序),现在它变得越来越大了。结果,我发现在移动设备上下载JS文件的时间太长,难以接受。我正在尝试理解如何将大型JS应用程序分块,以便按需加载。我正在使用webpack,并阅读了这篇文章:
https://webpack.github.io/docs/code-splitting.html
根据这篇文章,我已将我的代码分成了app.js和vendor.js两个部分,其中vendor.js包含所有第三方模块/插件。
我希望进一步将app.js文件拆分成多个入口点,然后根据需要下载各个块。上面的文章介绍了如何使用CommonJS或AMD实现此操作。但是,我正在使用ES6的原生模块而不是这两个选项,并且找不到定义每个文件的依赖关系的语法(基本上是.ensure()的ES6版本)。
我的问题:
- 我能否利用webpack的按需块功能使用ES6模块,还是需要使用AMD或CommonJS才能实现?
- 如果我需要使用AMD/CommonJS,如何避免对整个应用程序进行重构?
- 我需要做什么才能确保依赖关系会异步加载?
- 有没有人有教程/指南/代码示例的链接,以帮助说明我需要的内容?