react native中require的实现

2019-03-08  本文已影响0人  xinguoshui

在node-modules/metro/src/lib/polyfills/require.js

我们可以看到

 global.__d = define;
//  require用的是native require,需要通过bridge进入native层进行文件的加载运行。对于单个bundle,单个文件中已经define了需要加载的模块,所以不需要native require. 对于unbundle+inline require,遇到未加载的module就需要通过bridge进行加载了。

同时可以看到如下代码:

if (DEV) { require.Systrace = { beginEvent: () => {}, endEvent: () => {} }; require.getModules = () => { return modules; }; ```

这个可以对应上React Native官方文档中Performance关于unbundle和inline require的那一段说明。说明这段code只有在dev环境下才可以使用。

上一篇 下一篇

猜你喜欢

热点阅读