Мне нужно сделать что-то вроде:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
Приведенный выше код не компилируется; это бросает SyntaxError: ... 'import' and 'export' may only appear at the top level
.
Я попытался использовать, System.import
как показано здесь , но я не знаю, откуда System
. Это предложение ES6, которое не было принято? Ссылка на «программный API» из этой статьи выводит меня на устаревшую страницу документации .
package.json
; my gulpfile
then проверяет, существует ли эта зависимость, перед выполнением некоторых шагов сборки.
webpack
и babel
для транспорта ES6 в ES5. Проекты, подобные webpack-rewire
и похожие, здесь не помогут - github.com/jhnns/rewire-webpack/issues/12 . Одним из способов установки теста, удваивающего ИЛИ для удаления проблемных зависимостей, может быть условный импорт.
webpack
используется для преобразования таблиц стилей в модули, которые вставляют соответствующие стили в DOM, когда они импортированы), но модуль также должен работать вне браузера (например, для модульного тестирования).