# 浏览器支持

Vuetify 是一个渐进式的框架,试图将 Web 开发推向新的高度。 为了最好地完成这项任务,必须在支持 Internet Explorer 的旧版本方面做出一些牺牲。 这不是兼容浏览器的详尽列表,而是主要的目标浏览器。

# 浏览器

浏览器名称 支持状态
Chromium (Chrome, Edge Insider) 支持
Edge 支持
Firefox 支持
Safari 10+ 支持
IE11/Safari 9 需要 polyfill
IE9 / IE10 不支持

# 支持 IE11 和 Safari 9

Vuetify 使用 ES2015/2017 的功能,这些功能需要使用 polyfills 来兼容 Internet Explorer 11Safari 9/10

# Vue CLI

遗憾的是,Vue CLI 并没有自动带来 IE11 的兼容性,在这里你可能会遇到各种错误(如 Symbol 未定义)。 为了解决这些错误,你可能需要在 vue.config.js中手动添加 transpileDependencies参数。

// vue.config.js

module.exports = {
  transpileDependencies: ['vuetify']
}

# Webpack

如果你在使用自定义 Webpack 设置, 你需要安装 core-jsregenerator-runtime 包。 在你的终端中,运行以下命令:

yarn add core-js regenerator-runtime
# 或者
npm install core-js regenerator-runtime --save

_尽早_在你的 main.js 文件或应用程序的主要入口处安装插件。

// src/main.js

// Polyfills
import 'core-js/stable'
import 'regenerator-runtime/runtime'

// Imports
import Vue from 'vue'
import vuetify from '@/plugins/vuetify'

new Vue({ vuetify }).$mount('#app')


# Babel preset-env

我们_建议_您安装 @babel/preset-env,而不是手动安装和导入所需的 polyfills。 该包确保只根据你指定的设置向应用程序中添加必要的 pollyfills。

yarn add @babel/preset-env -D
# 或
npm install @babel/preset-env -D

一旦安装完毕,将预设添加到您的 babel.config.js 文件:

// babel.config.js

module.exports = {
  presets: ['@babel/preset-env']
}

或者如果你在使用 .babelrc 文件:

// .babelrc

{
  "presets": ["@babel/preset-env"]
}

# Template 警告

由于 Internet Explorer 对 <template> 标签的支持有限,您必须向浏览器发送完整编译的 dom 元素。 这可以通过提前构建你的 Vue 代码或者通过创建辅助组件来替换 dom 元素来实现。 例如,如果直接发送至 IE,就会失败:

<!-- Vue Component -->

<template v-slot:items="props">
  <td>{‌{ props.item.name }‌}</td>
</template>

了解更多?

继续学习由 我们的团队 选择的相关内容,或通过使用下面的导航链接在页面之间跳转。
GitHub 上编辑此页面
最后更新:11/12/2024, 6:59:50 AM