У мене виникають величезні труднощі з тим, щоб мої поліфіли працювали в Edge. Я намагався слідкувати за документацією з різними спробами, все не працювало. Здається, це обіцяє. Остаточно конкретно, що це не працює. Це відбувається в модулі vuex, тому я спробував додати vuex до transpileDependences в vue.config, але не пощастило.
Мій babel.config.js:
module.exports = {
presets: [['@vue/cli-plugin-babel/preset', {
useBuiltIns: 'entry',
}]],
};
У моєму main.js у наступних двох імпортах в самому верху:
import 'core-js/stable';
import 'regenerator-runtime/runtime';
Мій vue.config.js
// eslint-disable-next-line import/no-extraneous-dependencies
const webpack = require('webpack');
const isProd = process.env.NODE_ENV === 'production';
module.exports = {
configureWebpack: {
// Set up all the aliases we use in our app.
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 6,
}),
],
},
css: {
// Enable CSS source maps.
sourceMap: !isProd,
},
transpileDependencies: ['vuex'],
};
Зауважте, як було сказано вище, я спробував як з, так і без transpileDepeditions. Тут написано vue / babel-preset-додаток, яке es7.promise.finally
включено як поліфайл за замовчуванням
Версії:
- Microsoft Edge: 44.18
- Microsoft EdgeHTML 18.18362
- @ vue / cli-plugin-babel ":" ^ 4.1.2 "
- "core-js": "^ 3.6.4"
- "регенератор-час виконання": "^ 0.13.3"
Оновлення 13/02
Тому я спробував ввести Promise.prototype на своєму сайті в край, і, здається, він є заповненим:
Тож зараз я розслідую, чи якась частина мого ланцюга (axios / vue axios) не повертає обіцянки. Оскільки він працює в хромі, я підозрюю, що частина ланцюга неправильно заповнюється?
Це весь мій ланцюжок:
/* VUEX MODULE ACTION */
[a.ALL_CUSTOMERS](context) {
context.commit(m.SET_CUSTOMER_LOADING, true);
CustomerService.getAll()
.then(({ data }) => {
context.commit(m.SET_CUSTOMERS, data);
})
.finally(() => context.commit(m.SET_CUSTOMER_LOADING, false));
},
/* CUSTOMER SERVICE */
import ApiService from '@/common/api.service';
const CustomerService = {
getAll() {
const resource = 'customers/';
return ApiService.get(resource);
},
...
}
/* API SERVICE */
import Vue from 'vue';
import axios from 'axios';
import VueAxios from 'vue-axios';
const ApiService = {
init() {
Vue.use(VueAxios, axios);
let baseUrl = process.env.VUE_APP_APIURL;
Vue.axios.defaults.baseURL = baseUrl;
},
setHeader() {
Vue.axios.defaults.headers.common.Authorization = `Bearer ${getToken()}`;
},
get(resource) {
this.setHeader();
return Vue.axios.get(`${resource}`);
},
...
}
*Version number used for Edge is based on the number of EdgeHTML rather than Edge itself. This is because EdgeHTML is the engine for Edge that is related to feature support change.
finally()
Promise з v18