VueJs 3 + Vuetify:不适用于 IE 和 Edge

eri*_*unt 8 polyfills vue.js babeljs vuetify.js

我不确定我在这里做错了什么。我有 VueJs 3 和 Vuetify。适用于 Chrome 和 Firefox,但无法在 IE 和 Edge 中加载。我正在尝试使用 Babel 加载 polyfills 并强制 Vue CLI 为 Vuetify 转换依赖项。

包.json

"babel": {
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "entry"
      }
    ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

vue.config.js

module.exports: {
  transpileDependencies: ['vuetify']
}
Run Code Online (Sandbox Code Playgroud)

主文件

import 'core-js/es6';
import 'regenerator-runtime/runtime';
Run Code Online (Sandbox Code Playgroud)

导入包含在我的 main.ts 文件的顶部。我一直在使用官方文档来设置它。

我在这里缺少什么?

小智 5

如果您使用 vue-cli 创建项目并使用添加 vuetify vue add vuetify,那么使其在 Edge 中工作的解决方案应该是添加transpileDependencies: ['vuetify']到 vue.config.js 文件中。

但就我而言,我将 vue/vuetify 添加到一个已经存在的项目中,并且没有使用 vue-cli。所以为了让它工作,我安装了 core-jsnpm install core-js@2 --save并将它添加到我的 webpack.config.js 的规则中

{
    test: /\.js$/,
    exclude: /node_modules\\(?!(vuetify)).*/,
    use: [
        {
            loader: 'babel-loader',
            options: {
                configFile: './babel.config.js',
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

然后我将 babel.config.js 文件添加到项目的根目录。

module.exports = {
    presets: [
        ['@babel/preset-env', {
            debug: true,
            useBuiltIns: 'usage',
            corejs: { "version": 2, "proposals": true }
        }],
    ],
    plugins: [
        '@babel/plugin-proposal-object-rest-spread',
        '@babel/plugin-transform-spread',
    ]
}
Run Code Online (Sandbox Code Playgroud)

回复有点晚,但我在其他任何地方都找不到这个解决方案,这是我自己搜索时出现的第一批帖子之一。所以我想我会在这里发布对我有用的东西。