Mam ogromne kłopoty z uruchomieniem moich wielopełniaczy w Edge. Próbowałem postępować zgodnie z dokumentacją, ale różne próby nie przyniosły rezultatu. Wydaje się to być obiecujące. Ostatecznie nie działa. Dzieje się tak w module vuex, więc próbowałem dodać vuex do transpileDependencies w vue.config, ale bez powodzenia.
Mój babel.config.js:
module.exports = {
presets: [['@vue/cli-plugin-babel/preset', {
useBuiltIns: 'entry',
}]],
};
W mojej main.js mam na górze dwa następujące importy:
import 'core-js/stable';
import 'regenerator-runtime/runtime';
Moje 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'],
};
Uwaga: jak wspomniano powyżej, próbowałem zarówno z transpileDepedencies, jak i bez. Mówi się tutaj: vue / babel-preset-app, która es7.promise.finally
jest dołączona jako domyślna polifill
Wersje:
- Microsoft Edge: 44,18
- Microsoft EdgeHTML 18.18362
- @ vue / cli-plugin-babel ":" ^ 4.1.2 "
- „core-js”: „^ 3.6.4”
- „regenerator-runtime”: „^ 0,13.3”
Aktualizacja 13/02
Próbowałem więc wpisać Promise.prototype na mojej stronie i wygląda na to, że jest wypełniony:
Obecnie badam, czy jakaś część mojego łańcucha (axios / vue axios) nie zwraca obietnicy. Skoro działa w chromie, podejrzewam, że część łańcucha nie jest prawidłowo wypełniana wielopunktowo?
To jest cały mój łańcuch:
/* 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 od wersji 18