У нас есть проект vue-cli 3.Он работает довольно хорошо и компилируется без проблем.
Дело в том, что мы должны поддерживать старый браузер, поддерживающий только код ES5.
В проект мы интегрировали несколько внешних библиотек, написанных на ES6 (reconnecting-websocket
является примером).
Проблема
После компиляции нашего проекта с этими внешними компонентами, полученный код vue-cli имеет код ES6.
Например, наш chunk-vendors.js
имеет следующий код:
/*!
* Reconnecting WebSocket
* by Pedro Ladaria <pedro.ladaria@gmail.com>
* https://github.com/pladaria/reconnecting-websocket
* License MIT
*/const o=()=>{if("undefined"!==typeof WebSocket)return
WebSocket},a=t=>"function"===typeof t&&
с функцией жирной стрелки ES6 const o=()=>{
.Таким образом, выполнение этого кода в старых браузерных перерывах.
Вот наш файл .browserlistrc
, так как он кажется рекомендуемым способом добавления поддержки браузера в Vue CLI 3:
> 1%
last 2 versions
not ie <= 8
Android >= 4
Кажетсяvue CLI правильно переносит код приложения в ES5.Но это не делает другого прохода по поставщикам.
Есть ли способ настроить vue project, используя CLI v3, чтобы сделать окончательный проход транспиляции ПОСЛЕ сборки, чтобы убедиться, что все файлы ES5совместим?
Мы думали, что встроенные babel и webpack сделают это автоматически, но, похоже, дело не в этом.
Мы пытались использовать параметр transpileDependencies
в vue.config.js
, но этоничего не изменилось, и жирные стрелки все еще были в куске продавца.