Я отчаянно пытаюсь заставить мое приложение NuxtJS работать с IE11. Я реализовал настройку babel разными способами для создания совместимой версии, но у меня все еще есть операторы распространения в файлах встроенных страниц, как будто Babel не преобразовывал код Nuxt.
Вот мой конфиг:
nuxt.config.js
const pkg = require('./package')
const path = require('path');
module.exports = {
mode: 'universal',
// ...
build: {
babel: {
babelrc: true
},
extend(config, ctx) {
config.resolve.modules.push(path.resolve(__dirname, 'assets'));
const svgRule = config.module.rules.find(rule => rule.test.test('.svg'));
svgRule.test = /\.(png|jpe?g|gif|webp)$/;
config.module.rules.push({
test: /\.svg$/,
loader: 'vue-svg-loader',
}, {
test: /\.js$/,
loader: 'babel-loader'
})
}
}
}
.babelrc
{
"presets": [["@babel/preset-env", { "modules": false }]],
"plugins": [
"@babel/transform-runtime",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-transform-spread",
"@babel/plugin-proposal-object-rest-spread"
],
"env": {
"test": {
"presets": [["@babel/preset-env", { "targets": { "node": "current" } }]]
}
}
}
.browserslistrc
# Browsers that we support
>0.2%
not dead
not ie < 11
not op_mini all
Несмотря на эту конфигурацию, я все еще вижу некоторые операторы распространения, используемые на страницах, построенных на Nuxt, например, следующие сгенерированные nuxt:
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["pages/events/_slug.pages/index"],{
/***/ "./assets/svg/events/market.svg":
/*!**************************************!*\
!*** ./assets/svg/events/market.svg ***!
\**************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony default export */ __webpack_exports__["default"] = ({
functional: true,
render(_h, _vm) {
const { _c, _v, data, children = [] } = _vm;
const {
class: classNames,
staticClass,
style,
staticStyle,
attrs = {},
...rest
} = data;
Некоторое время я искал разные проблемы с NuxtJS и Babel, но Nuxt утверждает, что он работает с IE9 без дополнительной настройки Babel, что здесь не так. Я хотел бы понять, почему код неправильно передается.