Ответ 1
Не понятно, что вы пытаетесь сделать. Если вы используете функции ES2015 (например, модули ES2015, let
и т.д.), Вам нужен транспилер. Если вы напишете свой код без функций ES2015, то транспилятор не будет загружен. Вы можете проверить это, поместив код ES5 в main.js
и проверив вкладку "Сеть" вашего отладчика. browser.js
не будет загружен.
Строка, которую вы вставляете для transpiler
в System.config
, буквально является файлом транспилятора. В случае "babel"
он отображается на npm:[email protected]
(из поля map
), который в сочетании с полем path
ссылается на jspm_packages/npm/[email protected]
, а затем в этом каталоге файл .jspm.json
указывает на запись укажите browser.js
, который сам является файлом транспилятора на стороне клиента.
Какую бы строку вы не установили transpiler
to, jspm настроит System
, чтобы указать на нее (путь будет просто baseURL
, если вы не отобразили его), и выберите его. Конечно, это не для любой произвольной строки, такой как none
или test
. По умолчанию, если вы ничего не указываете, как вы заметили, это traceur
.
У вас есть возможность перераспределить серверную сторону, выполнив jspm bundle
, если переключение на стороне клиента - это то, чего вы пытаетесь избежать.
Для кода, который использует только ES5 и AMD, без пересылки, проверьте ветвь no-transpile
указанного выше репо. Обратите внимание, что browser.js
не загружается, даже если transpile
по-прежнему установлен на "babel"
.