通过查看http请求来检查延迟加载是否适用于开发环境非常容易,但我如何确保它适用于生产?您无法检查http请求,因为优化文件包含所有模块?
的更新: 来自requirejs:
优化器将只组合在传递给顶级require和define调用的字符串文字数组中指定的模块,或者在简化的CommonJS包装中组合require('name')字符串文字调用。因此,它不会找到通过变量名加载的模块:
var mods = someCondition ? ['a', 'b'] : ['c', 'd'];
require(mods);
但如果指定的话,将包括“a”和“b”:
require(['a', 'b']);
或
define(['a', 'b'], function (a, b) {});
此行为允许在优化后动态加载模块。您始终可以使用include选项显式添加通过优化程序的静态分析找不到的模块。