Мені потрібно зробити щось на кшталт:
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
; мій gulpfile
потім перевіряє, чи існує така залежність, перш ніж виконувати деякі етапи побудови.
webpack
та babel
транспілюю es6 в es5. Такі проекти, як webpack-rewire
і подібні, тут не допомагають - github.com/jhnns/rewire-webpack/isissue/12 . Одним із способів встановити тестові подвійні АБО для усунення проблемних залежностей може бути умовний імпорт.
webpack
використовується для перетворення таблиць стилів у модулі, які вставляють відповідні стилі в DOM, коли вони імпортовані), але модуль також повинен працювати поза браузером (наприклад, для тестування одиниць).