CRN icon indicating copy to clipboard operation
CRN copied to clipboard

lazyRequire在crn-cli中是什么作用?

Open colinNaive opened this issue 5 years ago • 1 comments

为什么在crn-cli中有一个lazyRequire的实现呢?这个的作用是什么? global.lazyRequire = lazyRequire; function lazyRequire(requirePath) { var lazy = { __lazyRequireFlag: true, __lazy_module_id__ : requirePath, load : function() { var module = global.__r(this.__lazy_module_id__); return module; } }; return lazy; } 在crn的代码中有看到lazyRequire的实现,主要目的是先定义module,在使用的地方才load,才去真正require相关module。这个是我能理解的,可是crn-cli的作用是打包,为什么打包的时候还需要lazyRequire? 麻烦大佬指教一二。谢谢

colinNaive avatar Sep 18 '19 08:09 colinNaive

打包的时候会执行patch动作,拷贝lazyRequire文件到node_moudles/react-native目录下。这样业务方在使用lazyRequire模块才能找到该文件。

blackwuxin avatar Oct 26 '19 03:10 blackwuxin