Vue CLI3不兼容IE11打开空白报错SCRIPT1003: 缺少 ‘:‘

简介: Vue CLI3不兼容IE11打开空白报错SCRIPT1003: 缺少 ‘:‘

一、问题描述

Vue CLI3打包上线后的代码使用IE11打开后是空白的,控制台报错:

SCRIPT1003: 缺少 ':'
app.js (304501,83045)

image.png


二、问题分析

首先要知道,IE不支持函数简写


data(){

return {}

}



只能识别这种形式


data: function () {

   return {}

}



还有其他的不兼容之处,最笨的办法是手动修改所有不兼容的地方


当然还有更优的解


看下配置文件package.json中设置的兼容浏览器配置


"browserslist": [

   "> 1%",

   "last 2 versions"

 ]



查询一下配置所代表的的浏览器, 可以发现IE10和IE11都在其列,


所以,项目本身的代码应该是没问题的


https://browserl.ist/

image.png

image.png

三、问题处理

最简单的方式是将不兼容的第三方模块换掉,如果确实需要那此法不可行


另外一个方式是使用@babel/polyfill + babel.config.js配置


1、安装依赖


cnpm i @babel/polyfill -S

1

2、入口文件 main.js 引入依赖


import '@babel/polyfill';

1

3、修改 babel.config.js


module.exports = {

 presets: [

   [

     '@vue/app',

     {

       useBuiltIns: 'entry'

     }

   ]

 ],

};



4、修改 vue.config.js


默认情况下 babel-loader 会忽略所有 node_modules 中的文件。如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。


依赖较多,索性将所有的依赖都加上,不过会增加打包后的体积,比如我的项目从7.5M增加到了19.6M


module.exports = {

 transpileDependencies: process.env.NODE_ENV === "development" ? ["*"] : [],

}



另外,如果是babel-polyfill + webpack.config.js网上很多文章都是说这个的,可以参看:


https://github.com/PanJiaChen/vue-element-admin/wiki

参考

  1. Vue CLI浏览器兼容性
  2. Vue CLI 3 配置兼容IE10
  3. vue cli3 创建的项目在IE11中运行,出现白屏,通过console调试发现报错SCRIPT1003: 缺少 ':'文件: app.js,行: 7391,列: 3 #4131
相关文章
|
9月前
|
JavaScript 算法 Linux
【vue报错】error:0308010C:digital envelope routines::unsupported
【vue报错】error:0308010C:digital envelope routines::unsupported
180 3
|
8月前
|
JavaScript 前端开发 开发者
vue3+ts配置跨域报错问题解决:> newpro2@0.1.0 serve > vue-cli-service serve ERROR Invalid options in vue.
【6月更文挑战第3天】在 Vue CLI 项目中遇到 "ERROR Invalid options in vue.config.js: ‘server’ is not allowed" 错误是因为尝试在 `vue.config.js` 中使用不被支持的 `server` 选项。正确配置开发服务器(如代理)应使用 `devServer` 对象,例如设置代理到 `http://xxx.com/`: ```javascript module.exports = { devServer: {
339 1
Vue3,setup的使用需要搭配return进行使用,Vue3中带setup的script的标签和不带能不能合并到一起,export default不能放到setup里会报错,script
Vue3,setup的使用需要搭配return进行使用,Vue3中带setup的script的标签和不带能不能合并到一起,export default不能放到setup里会报错,script
|
7月前
|
前端开发
Vue2和Vue3的区别,在setup中定义的数据,在data(){return中能否定义到},在setup我们不能用this,写在return中可以用this,但是不能在setup否则会报错
Vue2和Vue3的区别,在setup中定义的数据,在data(){return中能否定义到},在setup我们不能用this,写在return中可以用this,但是不能在setup否则会报错
|
5月前
|
JavaScript
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
本文讨论了在使用Vue和Element UI实现树形数据和懒加载时遇到的“Maximum call stack size exceeded”错误,指出问题的原因通常是因为数据中的唯一标识符`id`不唯一,导致递归渲染造成调用栈溢出。
294 1
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
|
4月前
|
JavaScript 前端开发
|
5月前
|
人工智能 JavaScript 索引
Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】
这篇文章讨论了在Vue中进行列表渲染时遇到的“Duplicate keys detected”错误。这个错误通常发生在使用 `v-for` 指令渲染列表时,如果没有为每个循环项指定一个唯一的 `key` 属性,或者指定的 `key` 属性值重复了。文章提供了导致错误的原始代码示例,并给出了修正后的代码,通过在 `key` 绑定中加入索引确保 `key` 的唯一性。此外,文章还解释了为什么需要唯一 `key` 以及如何解决这个问题。
Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】
|
4月前
|
JavaScript
Vue启动时报错的解决方案,以及解决相同路径跳转报错的问题
Vue启动时报错的解决方案,以及解决相同路径跳转报错的问题
551 0
|
6月前
|
JavaScript
VUE——如何兼容IE9|IE10|IE11浏览器
VUE——如何兼容IE9|IE10|IE11浏览器
195 0
VUE——如何兼容IE9|IE10|IE11浏览器
|
6月前
|
JavaScript
VUE——uuid引入报错
VUE——uuid引入报错
123 0

热门文章

最新文章