让我的polyfill在Edge中工作时遇到了很大的麻烦。我尝试了各种尝试,但都没有按照文档进行操作。这似乎是有希望的。最后特别是那是行不通的。这是在vuex模块中发生的,因此我尝试将vuex添加到vue.config中的transpileDependencies,但是没有运气。
我的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'],
};
请注意,如上所述,我已经尝试过使用或不使用transpileDepedencies。这里说VUE /巴贝尔,预置的应用程序是es7.promise.finally
被列为默认的填充工具
版本:
- 微软Edge:44.18
- 微软EdgeHTML 18.18362
- @ vue / cli-plugin-babel“:“ ^ 4.1.2”
- “ core-js”:“ ^ 3.6.4”
- “ regenerator-runtime”:“ ^ 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()
从v18开始就支持Promise