Eu preciso fazer algo como:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
O código acima não compila; joga SyntaxError: ... 'import' and 'export' may only appear at the top level
.
Tentei usar System.import
como mostrado aqui , mas não sei de onde System
vem. É uma proposta do ES6 que não acabou sendo aceita? O link para "API programática" desse artigo me leva a uma página de documentos obsoleta .
package.json
; o meu gulpfile
verifica se essa dependência existe antes de executar algumas etapas de compilação.
webpack
e babel
para transpilar es6 para es5. Projetos como webpack-rewire
e similares não devem ajudar aqui - github.com/jhnns/rewire-webpack/issues/12 . Uma maneira de definir o dobro de teste OU para remover dependências problemáticas pode ser a importação condicional.
webpack
é usado para converter folhas de estilo em módulos que inserem os estilos relevantes no DOM quando são importados), mas o módulo também precisa ser executado fora do navegador (por exemplo, para teste de unidade).