vuex在ie浏览器 脚本出现语法报错

Vue+Vue Router+Vuex开发模式下,IE浏览器中,视图切换时浏览器内存溢出? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。2被浏览326分享邀请回答vue项目在IE中显示空白,报错:vuex requires a Promise polyfill ...
vue项目在IE中显示空白,报错:vuex requires a Promise polyfill in this browser
问题描述vue项目在非IE内核的浏览器中显示正常,在IE内核浏览器中报错,并显示空白。报错如下:SCRIPT5022:
[vuex] vuex requires a Promise polyfill in this browser.SCRIPT5009: “Promise”未定义.报错原因Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转码。为了解决这个问题,我们使用一种叫做 Polyfill(代码填充,也可译作兼容性补丁)的技术。简单地说,IE浏览器对ES6中的promise无法支持,因此需要通过引入babel-polyfill来正常使用ES6的功能。解决方法第一步:安装babel-polyfillnpm install --save-dev babel-polyfill第二步:在入口文件中引入import 'babel-polyfill';第三步:修改webpack配置文件(非必须)用了官方脚手架vue-cli,还需要在webpack.config.js配置文件中修改配置。如果使用的是vue-cli+vue webpack模板则在webpack.base.conf.js中增加。// 修改前// 修改前
module.exports = {
app: './src/main.js'
// 修改后// 修改后
module.exports = {
app: ["babel-polyfill", "./src/main.js"]
提示:部分开发者说要直接引入node_modules中的js文件路径才有效:entry: {
app: ['./node_modules/babel-polyfill/dist/polyfill.js','./src/main.js']
},测试结果本地测试IE浏览器Edge正常了,但是IE10及以下版本又出现了上面的报错,没关系,将项目打包放在服务器就都没问题了。文中表述仅代表个人观点,有问题欢迎留言交流,或关注楼主微信公众号:上班熊的环球梦。
Vue2.0做的项目在IE11下面打开一片空白?
VUE解决IE不能用的方法
解决Vuex, IE浏览器报错
vue在IE11下不兼容 页面显示空白的问题
Vue 2.0在IE11中打开项目页面空白的问题
Vue - webpack 打包兼容 360 浏览器和 IE 浏览器
webpack打包vue项目ie浏览器下报promise 未定义
使用Vuex, IE浏览器报错
Vue 2.0在IE11中打开项目页面空白的问题解决
Vue2.0 之 自带浏览器里无法打开(兼容IE处理) - 解决方案
没有更多推荐了,vue在IE和360兼容模式下无法显示问题
vue在IE和360兼容模式下无法显示问题
360兼容模式下报错:[vuex] vuex requires a Promise polyfill in this browser.
360浏览器中包含了两个浏览器
一个是IE(Trident内核),即兼容模式,在使用网银时需要切换为兼容模式
一个是Chrome(Chrommium内核),即极速模式,普通浏览时使用
Chrome:51 版起便可以支持 97% 的 ES6 新特性。Firefox:53 版起便可以支持 97% 的 ES6 新特性。Safari:10 版起便可以支持 99% 的 ES6 新特性。IE:Edge 15可以支持 96% 的 ES6 新特性。Edge
14 可以支持 93% 的 ES6 新特性。(IE7~11 基本不支持 ES6)
babel-polyfill 是针对全局环境的,引入它浏览器就好像具备了规范里定义的完整的特性,一旦引入,就会跑一个 babel-polyfill 实例。用法如下:
1.安装 babel-polyfill
npm install babel-polyfill --save
2.在入口文件中引用:
import 'babel-polyfill'
针对ES6的兼容性问题,很多团队为此开发出了多种语法解析转换工具,把我们写的ES6语法转换成ES5,相当于在ES6和浏览器之间做了一个翻译官。比较通用的工具方案有babel,jsx,traceur,es6-shim等。
法一:webpack.base.conf.js中配置
app: ["babel-polyfill","./src/main.js"],
"./src/main.js",
"babel-polyfill":"babel-polyfill"
法二:在main.js中引入
import 'babel-polyfill'
但上述方法都未生效!
本人亲测下列两种方法可行:
法一:webpack.base.conf.js中配置
// "babel-polyfill"用来解决的兼容性
app: ['./node_modules/babel-polyfill/dist/polyfill.js','./src/main.js']
直接引入:
&script src=""&&/script&
Vue2.0 之 自带浏览器里无法打开(兼容IE处理) - 解决方案
VUE解决IE不能用的方法
Vue兼容360、ie浏览器
解决vue在IE和360兼容模式下无法显示问题
vue中IE9运行时空白问题解决
解决360 兼容模式下问题。
vue处理ie兼容性问题
解决Bootstrap网页在360安全浏览器兼容模式下无法正常显示问题
解决vue在ie9中的兼容问题
jsp页面360浏览器兼容模式不兼容问题解决方法
没有更多推荐了,权限不足 - SegmentFault
该内容处于隐藏状态,只有作者自己能看到哦axios在IE浏览器中报错,不支持promise问题...
axios在IE浏览器中报错,不支持promise问题
项目使用的框架为:webpack + vue + vue-router + vuex + axios.
项目初步完成后,在使用IE10测试的时候,忽然发现,控制台总是报错,报错原因为IE浏览器不支持Promise对象。
百度之后发现,可以利用插件’es6-promise’的polyfill()方法来实现兼容,具体步骤如下:
npm install -g es6-promise
在使用axios方法之前,导入es6-promise,并调用 polyfill()方法(本人将所有的异步请求放置在了vuex的actions对象中,所以是直接写在actions.js文件中),即:
import promise from 'es6-promise' ;
promise.ployfill();
bluebird.js - 让所有浏览器都支持 ES6 Promise 对象
解决axios在ie下的兼容性问题
axios的兼容性处理
axios 请求接口报错 URLSearchParams
html2canvas 出图promise以及svg问题
axios全攻略
解决axios在ie浏览器下提示promise未定义的问题
Vue项目兼容IE浏览器
没有更多推荐了,

我要回帖

更多关于 vuejs语法 的文章

 

随机推荐