Непонятно, что вы пытаетесь сделать. Если вы используете функции 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 самого файла ,
Независимо строка, которую вы установите transpiler
к, JSPM настроит System
, чтобы указать на него (путь будет просто baseURL
, если вы не замэпили) и извлечь его. Конечно, это не так для любой произвольной строки, такой как none
или test
. По умолчанию, если вы ничего не указали, как вы уже заметили, это traceur
.
У вас есть возможность транслировать серверную сторону, делая jspm bundle
, если переключение на стороне клиента - это то, чего вы пытаетесь избежать.
Для кода, который использует только ES5 и AMD, без перекоса, проверьте no-transpile
ответвление вышеуказанного репо. Обратите внимание, что browser.js
не загружен, хотя transpile
по-прежнему установлен в "babel"
.
+1 для получения более подробной информации. Думаю, теперь я понимаю, в чем ситуация. Я думаю, что меня вводит в заблуждение, что вы можете ответить «Нет» на вопрос Transpiler при запуске jspm init, и он будет вставлять «none» в config.js для транспилятора. –
Да, но если ваш код имеет в нем функции ES2015, 'System' * будет * пытаться перевести его в любом случае - с помощью transpiler' none'. Безопасная вещь, если вы хотите убедиться, что нет транспиляции, заключается в том, чтобы установить это поле в любую недопустимую строку (например, 'none'), а затем написать код с прямым ES5. Таким образом, вы будете выходить из системы, если какой-либо код ES2015 пробирается, например. через какой-то модуль, который вы импортировали. – caasjj
ОК, я понял. Огромное спасибо. –