使用变量代替硬编码字符串在require()中不起作用

时间:2017-05-27 17:59:28

标签: react-native

我尝试过使用

 const myPath = './TpsComponent2';
 const ms = require(myPath);

这不起作用。但是,当我尝试时,

 const ms = require('./TpsComponent2');

有效!

我错过了什么?我想将路径作为变量传递。

1 个答案:

答案 0 :(得分:0)

React Native应用程序是Javascript应用程序(可选择使用本机代码)。在设备上运行之前,它是捆绑的 - ES6被转换为ES5,资产也捆绑在一起。

这在运行应用之前发生。因此,必须在编译时之前知道所有require。您不能在RN app中以这种方式要求组件(或其他任何东西)。

在纯节点环境中,这没问题。