Polyfill을 Edge에서 작동시키는 데 엄청난 문제가 있습니다. 나는 모든 시도가 작동하지 않는 문서를 따르려고했습니다. 그것은 약속입니다. 마지막으로 작동하지 않는 것 같습니다. 이것은 vuex 모듈 에서 발생 하므로 vue.config의 transpileDependencies에 vuex를 추가하려고했지만 운이 없습니다.
내 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 / babel-preset-app 라고 표시 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을 입력하려고 시도했지만 그것이 polyfilled 된 것처럼 보입니다.
따라서 현재 체인의 일부 (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 때문에 약속에