Я был readingaboutes6 module loaders, и я просто не совсем понимаю, как это работает, и я надеюсь, что кто-то сможет просветить меня.Как работает загрузочный модуль модуля ES
В практических рабочих процессах ссылка выше они есть пример, как этот
System.import('app/app').then(function(app) {
// app is now the Module object with exports as getters
});
Нет проблемы с этим - я понимаю. Но тогда я вижу такие вещи, как это
var $ = require('jquery');
и получить действительно смущен. Что произойдет, если во время этого вызова jquery еще не был перенесен в браузер? Ли спина просто вращается? Разве браузер анализирует ваш сценарий за кадром и преобразовывает его в обратный вызов, например RequireJs? Это то, что он настраивает? Существуют ли конкретные ограничения?
Может кто-нибудь дать мне краткое изложение?
Вторая вещь, которую вы видите, это загрузка модуля CommonJS, а не ES6 afaik. Это действительно [не работает (ну) внутри require.js] (http://requirejs.org/docs/api.html#cjsmodule) – Bergi
@Bergi работает отлично в require.js, в то время как я не предпочитаю его в моем текущем проекте есть определенные страницы, которые используют requirejs в стиле commonjs. Requirejs сканирует ваш скрипт для выражений commonjs и переписывает его в формат amd, поэтому он все еще использует обратные вызовы. Однако, если я не ошибаюсь, предложение es6 НЕ использует обратные вызовы - отсюда и моя путаница. –
Да, и сканирование сценария не работает хорошо для всех, кроме самых простых случаев. Можете ли вы связать часть предложения ES6, что вы имеете в виду? 'System.import' явно использует обратные вызовы. – Bergi