Настройте цель TypeScript с помощью Create-React-App в режиме разработки - PullRequest
0 голосов
/ 04 марта 2020

tldr; Как настроить проект CRA таким образом, чтобы yarn start давал сборку, совместимую со старым браузером?

Не уверен, что я делаю неправильно, но я по сути использую TypeScript с CRA и хотел бы запустить версию для разработки на более старой Chrome. Чтобы быть точным, это Chrome 53 работает на Smart TV. Поскольку я разрабатываю приложение для запуска на телевизоре и хотел бы протестировать на имеющемся у меня устройстве, крайне важно запустить сборку, совместимую с этим телевизором.

Когда я запускаю текущую версию разработки на Телевизор, браузер жалуется на синтаксическую ошибку. Вероятно, из-за расширенных функций JS, содержащихся в сборке (функции-стрелки, const, ...).

Поэтому первое, что я сделал, - обновил tsconfig.json до цели es3 вместо того, чтобы в настоящее время он находится по адресу: es5. Я не ожидал, что это изменит ситуацию, поскольку ES5 должен хорошо работать на Chrome 53.

Затем я попытался настроить browserlist в package.json для включения этой версии Chrome, или даже копирование настроек производства в разработку, но безрезультатно. Когда я проверяю JavaScript, сгенерированный на моем рабочем столе, он все еще содержит функции ES6.

Очевидно, я очень незнаком с тем, как TypeScript и CRA (слышно, Вавилон) работают вместе. Я пытался проверить исходный код CRA и извлечь приложение, чтобы объяснить, что мои попытки не работают, но я потерян.

(отмечая, что проект был создан из шаблона TypeScript CRA несколько дней назад go, так что действительно актуально.)

1 Ответ

0 голосов
/ 05 марта 2020

Ну, получается, что проблема проще, чем казалось. Кэш NPM необходимо очистить после изменения package.json. Я признаю, что я не заметил упоминания об этом в документации.

При редактировании конфигурации browserslist вы можете заметить, что ваши изменения не сразу попадают. Это связано с тем, что в babel-loader не обнаружено изменений в вашем package.json. Быстрое решение - удалить папку node_modules/.cache и повторить попытку.

Поддерживаемые браузеры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...