Попробуйте использовать eval . eval()
запустит свой ввод (строку типа), как если бы он был частью программы:
string = "import React from 'react'; import ReactDOM from 'react-dom'; function App() { return ( <h1>Hello world</h1> ); } export default App;";
eval(string);
Вы заметите, что в документах MDN есть предупреждение не использовать eval
по соображениям безопасности. Это связано с тем, что он выполняет код со всеми разрешениями, которые пользователь предоставил веб-странице, поэтому, если есть вероятность, что кто-то злой мог изменить строку, тогда они могут запустить любой код, который они хотят, на устройстве клиента. Однако это проблема только для определенных случаев использования и, вероятно, не для вас. См. «Насколько опасен eval?» . Это также немного медленно из-за того, что код должен быть скомпилирован, но для вашего примера это не будет действительно заметно.