У меня огромные проблемы с тем, чтобы заставить мои полифилы работать в Edge. Я пытался следить за документацией с различными попытками все не работает. Кажется, это обещание. Наконец, это не работает. Это происходит в модуле vuex , поэтому я попытался добавить vuex к transpileDependencies в vue .config, но безуспешно.
My babel.config. js:
module.exports = {
presets: [['@vue/cli-plugin-babel/preset', {
useBuiltIns: 'entry',
}]],
};
В моем основном. 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'],
};
Обратите внимание, как уже упоминалось выше, я пробовал как с, так и без transpileDepedencies. Здесь говорится vue / babel-preset-app , что es7.promise.finally
включен в качестве полизаполнения по умолчанию
Версии:
- Microsoft Edge: 44.18
- Microsoft Edge HTML 18.18362
- @ vue / cli-plugin-babel ":" ^ 4.1.2 "
- " core- js ":" ^ 3.6.4 "
- " регенератор-время выполнения ":" ^ 0.13.3 "
Обновление 13/02
Поэтому я попытался ввести Promise .prototype на моем сайте в ребре, и кажется, что он заполнен:
Так что в настоящее время я изучаю, если какая-то часть моей цепи (axios / vue ax ios) не возвращает обещание. Так как оно работает в chrome Я подозреваю, что часть цепочки неправильно заполняется?
Это вся моя цепочка:
/* 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}`);
},
...
}