Necesito hacer algo como:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
El código anterior no se compila; lanza SyntaxError: ... 'import' and 'export' may only appear at the top level
.
Intenté usar System.import
como se muestra aquí , pero no sé de dónde System
viene. ¿Es una propuesta de ES6 que no terminó siendo aceptada? El enlace a la "API programática" de ese artículo me devuelve a una página de documentos en desuso .
package.json
; my gulpfile
luego comprueba si esa dependencia existe antes de realizar algunos pasos de compilación.
webpack
y babel
para transpilar es6 a es5. Proyectos como webpack-rewire
y similares no son de ayuda aquí: github.com/jhnns/rewire-webpack/issues/12 . Una forma de establecer que la prueba se duplique O para eliminar dependencias problemáticas podría ser la importación condicional.
webpack
se usa para convertir hojas de estilo en módulos que insertan los estilos relevantes en el DOM cuando se importan), pero el módulo también debe ejecutarse fuera del navegador (por ejemplo, para pruebas unitarias).