Я писал много ES6 в последнее время, используя синтаксис import {variable} from 'ES6module'
и компиляцию кода в браузере с помощью traceur-compiler. Я начал смотреть на systemjs, так как казалось, что это может позволить мне использовать тот же синтаксис для импорта модулей AMD, commonJS, и ES6.Импорт модулей commonJS, AMD и ES6 во время выполнения с синхронным синтаксисом
Чтение документации начало меня путать. Я вижу много асинхронных вызовов, таких как System.import('path/to/module').then(function(variable) { ... })
, для которых я не привык к импорту зависимостей.
Я прочитал Practical workflows for ES6 modules, которая охватывает множество различных рабочих процессов, ни один из которых включает в себя импортирование модуля ES6 и/CommonJS модуль AMD во время выполнения. Я имею в виду что-то вроде этого:
import {myObject} from 'my/es6/module';
import {_} from 'lib/underscore';
или если не то, чем, по крайней мере:
import {myObject} from 'my/es6/module';
var _ = require('lib/underscore');
ли любой из них можно с systemjs?
Awesome! И я предполагаю, что это также означает, что более поздние вызовы 'import_ from 'lib/underscore';' будут повторно использовать уже импортированный модуль? – bennlich
Да точно - экземпляры модулей являются общими. – guybedford