module ecmascript-6 systemjs

module - amd js



Importe los módulos commonJS, AMD y ES6 en tiempo de ejecución con sintaxis sincrónica (1)

He estado escribiendo mucho ES6 últimamente, usando import {variable} from ''ES6module'' sintaxis import {variable} from ''ES6module'' y compilando el código en el navegador con traceur-compiler . Empecé a buscar en systemjs ya que parecía que podría permitirme usar la misma sintaxis para importar los módulos AMD, commonJS y ES6.

Sin embargo, la lectura de la documentación comenzó a confundirme. Veo muchas llamadas asincrónicas como System.import(''path/to/module'').then(function(variable) { ... }) que no estoy acostumbrado para la importación de dependencias.

He leído Flujos de trabajo prácticos para módulos ES6 , que cubre muchos flujos de trabajo diferentes, ninguno de los cuales implica la importación de un módulo ES6 y un módulo AMD / commonjs en tiempo de ejecución. Estoy pensando algo como esto:

import {myObject} from ''my/es6/module''; import {_} from ''lib/underscore'';

o si no eso, al menos:

import {myObject} from ''my/es6/module''; var _ = require(''lib/underscore'');

¿Alguno de estos es posible con systemjs?


Este caso de uso es exactamente para lo que está diseñado SystemJS.

Puedes escribir:

import {myObject} from ''my/es6/module''; import _ from ''lib/underscore'';

La razón es porque los módulos CommonJS, AMD y Global en SystemJS se tratan como si solo exportaran una propiedad default , que corresponde a la sintaxis de importación predeterminada anterior.