vue-cli3.0创建项目IE兼容处理

这篇具有很好参考价值的文章主要介绍了vue-cli3.0创建项目IE兼容处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、白屏处理

IE白屏,基本是JS代码报错,包括app.js报错或者chunk包报错,需要分以下几个步骤解决:

1. 安装sockjs-client包,npm i sockjs-client -D。

2. 安装babel-polyfill包,npm i babel-polyfill -D,并在main.js中引入(在第一行代码引入),import 'babel-polyfill';

3. 在vue.config.js中增加配置:

transpileDependencies中增加引起编译报错的依赖包,例如:

transpileDependencies: [/xxxx1/, /xxxx2/]

chainWebpack中增加配置:

config.entry.app = ['babel-polyfill', './src/main.js'];

4. 最重要的一步,也是网上很多人增加各种配置后依然没有生效的原因,需要修改.browserslistrc文件

> 1%
last 2 versions
not dead
IE 11 //增加需要兼容的IE版本

5.如代码中使用到了promise.allSettled方法,可能会引起兼容问题,需要将此方法重写:

function PromiseAllSettled(promises = [], onlyResult) {
    return Promise.all(
        promises.map(
            onlyResult
                ? (item) => (item instanceof Promise ? item.catch((e) => e) : item)
                : (item) =>
                      item instanceof Promise
                          ? item
                                .then((value) => ({ status: 'fulfilled', value }))
                                .catch((reason) => ({ status: 'rejected', reason }))
                          : { status: 'fulfilled', value: item }
        )
    );
}

// Polyfill
Promise.allSettled || (Promise.allSettled = PromiseAllSettled);

6. 如果经过以上步骤,仍然没解决白屏问题,可能是vue-cli版本和本文用到的版本不一致,建议把网上其他人使用的解决办法都试一遍,总会成功的。。。。

二、其它兼容处理

1. window.scroll写法问题

在IE11中,window.scroll({top: 100,behavior: 'smooth'})这种写法不生效,但是window.scroll(0, 100)这种写法可以起作用,只是滚动效果没有前面带参数的写法那么平滑。

2. 文件下载问题

一般的文件下载方式是把后端的文件流转换成blob格式,然后再通过前端代码创建a标签点击下载,如下例:

createDoc(blob, name) {
    const elink = document.createElement('a');
    elink.download = name;
    elink.style.display = 'none';
    elink.href = URL.createObjectURL(blob);
    document.body.appendChild(elink);
    elink.click();
    URL.revokeObjectURL(elink.href); // 释放URL 对象
    document.body.removeChild(elink);
}

但在IE11下,创建的a标签中的href链接地址和在其他浏览器中的href地址不一样,缺少了服务器地址,因此导致无法下载。因此只能使用微软自创的下载文件的写法:

createDoc(blob, name) {
            if('msSaveOrOpenBlob' in navigator){
                // Microsoft Edge and Microsoft Internet Explorer 10-11
                window.navigator.msSaveOrOpenBlob(blob, name);
            }else{
                const elink = document.createElement('a');
                elink.download = name;
                elink.style.display = 'none';
                elink.href = URL.createObjectURL(blob);
                document.body.appendChild(elink);
                elink.click();
                URL.revokeObjectURL(elink.href); // 释放URL 对象
                document.body.removeChild(elink);
            }
        }

3.文章来源地址https://www.toymoban.com/news/detail-470426.html

到了这里,关于vue-cli3.0创建项目IE兼容处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue-cli3的安装和项目创建

    一 vue-cli3的安装 (注意:vue-cli3在安装之前,需要先删除旧版本,即vue-cli2)   cnpm i -g @vue/cli vue-cli3的卸载:cnpm uninstall -g @vue/cli  然后用命令“vue -V”查看是否删除vue,如果没有删掉,就直接去文件夹里面删除vue文件夹即可 (二)vue-cli3项目创建 1,用dos命令的方式 vue cre

    2024年02月09日
    浏览(38)
  • 使用vue-cli脚手架创建vue项目

    0.vue cli安装 vue cli2安装 vue cli2卸载 vue cli3安装 key通过命令查看当前安装的vue cli的版本 1. vue init vue init 是vue-cli2.x的初始化方式,可以使用github上面的一些模板来初始化项目 webpack是官方推荐的标准模板名。 vue-cli2.x项目向3.x迁移只需要把static目录复制到public目录下,老项目的

    2024年02月11日
    浏览(50)
  • 关于基于vue-cli脚手架创建vue项目(图文版)

    目录 一.vue-cli脚手架·概述(来源于官方文档) 二.创建流程 2.1 首先安装node.js,如未安装请移步到:安装node.js 2.2 安装脚手架vue-cli 2.2.1 使用npm install -g @vue/cli命令  2.2.1 使用vue -V 查看版本并检验是否安装成功  2.3 安装vue项目 2.3.1 使用命令 vue create 项目名 ​编辑 2.3.2 这里

    2024年02月07日
    浏览(47)
  • 怎样创建vue项目(分别基于vue-cli和vite两种的创建方式)

    1、安装node.js 1、首先需要安装node.js,推荐下载地址:Node.js 2、检查是否安装成功,使用打开黑窗口的快捷键window+R,输入cmd,在黑窗口输入node -v,如果输出版本号,就说明安装node环境成功, 2、vue-cli搭建Vue开发环境 Vue CLI:命令行界面,俗称脚手架,Vue CLI 是一个基于webpa

    2024年02月02日
    浏览(53)
  • vue-cli自定义创建项目-eslint依赖冲突解决方式

    创建项目步骤 概览: 在安装 npm安装时会报错 依赖冲突原因: @vue/eslint-config-standard@6.1.0 依赖于 eslint-plugin-vue 的 ^7.0.0 版本,但是项目中安装了更高版本的 eslint-plugin-vue 解决方式:降级eslint-plugin-vue到@vue/eslint-config-standard支持的版本 解决后: 再进行npm安装,就能成功

    2024年04月09日
    浏览(39)
  • vue-cli 脚手架创建uniapp项目(微信小程序)

    1、全局安装 vue-cli 脚手架(不建议用 5.0 版本,避免报错) 2、脚手架创建项目 3、选择 默认模板 即可 4、编译并启动项目  5、开发者工具,导入项目,注意路径 \\\"项目地址/dist/dev/mp-weixin\\\" 开发的规范 不能直接在开发者工具中修改代码,口诀:vscode做开发,开发者工具做调试

    2024年02月09日
    浏览(34)
  • vue-cli创建项目、vue项目目录结(运行vue项目)、ES6导入导出语法、vue项目编写规范

    1 vue-cli创建项目 1.1 vue-cli 命令行创建项目 1.2 使用vue-cli-ui创建 2 vue项目目录结构 2.1 运行vue项目 2.2 vue项目的目录结构 3 es6导入导出语法 4 vue项目编写规范 4.1 修改项目 4.2 以后写vue项目,只需要在固定位置写固定代码即可 App.vue HomeView.vue AboutView.vue

    2024年02月07日
    浏览(65)
  • Vue项目搭建及使用vue-cli创建项目、创建登录页面、与后台进行交互,以及安装和使用axios、qs和vue-axios

    目录 1. 搭建项目 1.1 使用vue-cli创建项目 1.2 通过npm安装element-ui 1.3 导入组件 2 创建登录页面 2.1 创建登录组件 2.2 引入css(css.txt) 2.3 配置路由 2.5 运行效果 3. 后台交互 3.1 引入axios 3.2 axios/qs/vue-axios安装与使用 3.2.1 安装axios 3.2.2 发送get请求: 3.2.3 发送post请求: 3.2.4 简化axio

    2024年02月07日
    浏览(39)
  • vue-cli脚手架创建创建的项目打包后无法正常打开报 Failed to load resource: net::ERR_FILE_NOT_FOUND错误

    亲爱的小伙伴们,你们最近是否有遇到用使用最新的脚手架打包项目后index.html文件无法正常打开,然后控制台报错的情况呢,不要担心,这个坑今天被我踩到了并且被我解决了,下边就让我来给大家分享一下经验吧! 1.找到vue.config.js文件,进行如下配置 即添加一行配置:

    2024年02月15日
    浏览(34)
  • 第一个 vue-cli 项目

            v ue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速; 1.1 主要的功能         a、统一的目录结构  

    2024年02月14日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包