import TestClass from './TestClass'
Как превратить строку в имя класса (без определения его в окне)?
Как я ссылаться TestClass
в этом файле заданной строки 'TestClass'
?
eval('TestClass')
не работает, поэтому TestClass is not defined
.
Однако, если я делаю let Test = TestClass
, а затем eval('Test')
, он возвращает мне конструктор для TestClass
, по желанию.
Почему eval('TestClass')
не работает, если eval('Test')
?
Контекст: Учитывая многие элементы, такие как <div data-class="TestClass"></div>
, я хочу создать обобщенную функцию, которая делает соответствующий Реагировать компонентов в них. Эти классы компонентов будут импортированы в файл перед выполнением этой функции.
Примечание: Использование Brunch (аналогично webpack) в качестве системы сборки.
Какая у вас система упаковки? Webpack? Browserify? –
Лучше пересмотреть свое решение. Весь смысл новой модульной системы - это то, что ее можно статически анализировать. Поскольку вы не можете «импортировать» динамически - нет большого смысла динамически создавать экземпляры. – zerkms
делает [документация по MDN] (https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import) поможет вам с тем, что вы можете и чего не можете достичь? –