Edge浏览器报错IE解决 Expected identifier, string or number 配置 babel vue plugins Preset

简介: Edge浏览器报错IE解决 Expected identifier, string or number 配置 babel vue plugins Preset

Edge,IE(解决Expected identifier, string or number) 配置 babel vue配置 babel vue plugins Preset

前言

在Edge、ie出现这个错误一般是因为 es6及以上的不能兼容问题,我们可以通过 babel来进行编译

1.如果你比较着急想直接解决问题请往下直接看解决方案

2.如果你有时间想;了解学习以下babel的用法可以接着看

首先Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。

1.了解 babel.config.js中两个配置 plugins 和 Preset

  • Preset

视为 Babel Plugin 的集合。比如 babel-preset-es2015 就包含了所有跟 ES6 转换有关的插件。

类似于我们在引用组件库的时候 直接引用在main.js文件

缺点:preset-env 会将所有 ES2015-ES2020 的代码转化为 ES5

npm install --save-dev @babel/preset-env

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

我们可以按需引入ES6 转 ES5 的功能,

例如:添加解构赋值插件 ‘@babel/plugin-transform-destructuring’

类似于我们在引用组件库的时候 可以按需引入我们需要的组件

npm install --save-dev @babel/plugin-transform-destructuring

module.exports = {
  plugins: [
    // 添加解构赋值插件
    '@babel/plugin-transform-destructuring'
  ]  
}

这样我们在项目中就单独引入了 结构赋值转移的插件

Babel 官方拆成了20+个插件,有其他需要可以去babel官网查看 https://www.babeljs.cn/

亿点小知识

targets: { [string]: number } 设置支持环境

例如版本chrome, edge, firefox, safari, ie, ios, node,支持制定版本,如node: 6.5。也使用node: current代表使用当前的版本。

{
  "presets": [
    [
      "@babel/preset-env", {
        "targets": {
            "node": "current",
            "chrome": "58",
            "ie": "11"
          }
      }
    ]
  ]
}

debug: boolean,默认false

编译是否会去掉console.log。

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

loose、whitelist、browsers等…

关于属性的配置还有很多有兴趣或需要的可以去了解

解决方案:

提示:快速的解决你的问题 Expected identifier, string or number

1 npm install --save-dev @babel/preset-env

2 在babel.config.js 中添加

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

3 在vue.config.js中添加

这里也可以选择不添加

原因是:对于node_modules文件夹下的代码,默认是不会转换的(使用vue cli创建的项目,babel-loader默认不会转换这部分代码),所以类似ant-design,element-ui这些使用了新的api的库,在node_modules里是不会被转换的。

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

总结:

  • plugins优先于presets进行编译。
  • plugins按照数组的index增序(从数组第一个到最后一个)进行编译。
  • presets按照数组的index倒序(从数组最后一个到第一个)进行编译。因为作者认为大部分会把presets写成[“es2015”, “es2016”]。
  • 以上就是 edge,ie 通过babel实现语法编译兼容

    如要了解更加详情 点击穿越

    如碰到其他的问题 可以私下我 一起探讨学习

    可以关注收藏博客 作者会持续更新…

相关文章
|
4月前
|
Windows
禁止ie自动跳转edge
禁止ie自动跳转edge
132 0
|
1月前
|
Web App开发 安全 前端开发
一个接口4个步骤轻松搞定最新版Chrome、Edge、Firefox浏览器集成ActiveX控件
目前的浏览器市场,谷歌浏览器占据了半壁江山,因此,谷歌也是最有话语权的,2015年开始取消支持 NPAPI 插件,2022 年10月停止支持 PPAPI 插件;而曾经老大哥IE浏览器也已停止服务,退出历史舞台,导致大量曾经安全、便捷的ActiveX控件无法使用。为了解决这个难题,本人特研发出allWebPlugin中间件,重新让所有ActiveX控件能在谷歌、火狐等浏览器使用。
|
5月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
4月前
|
Web App开发 安全 中间件
谷歌、火狐、Edge等浏览器如何使用ActiveX控件
allWebPlugin 是一款为用户提供安全、可靠且便捷的浏览器插件服务的中间件产品,支持 Chrome、Firefox、Edge 和 360 等浏览器。其 V2.0.0.20 版本支持一个页面加载多个插件,并解决了插件与浏览器之间的焦点问题。用户可通过“信息化系统 + allWebPlugin + 插件 + 浏览器”的解决方案实现 ActiveX 插件的无缝集成。下载地址见文末,安装包含详细说明。
1302 19
|
4月前
|
JavaScript 前端开发
|
4月前
|
安全 搜索推荐 数据安全/隐私保护
定制你的清爽Mac版Edge浏览器
【10月更文挑战第5天】本文介绍了如何定制Mac版Edge浏览器以实现清爽高效的操作体验。内容包括:选择主题以适应不同环境,自定义工具栏以保持界面简洁;启用隐私浏览模式及调整隐私设置来保护个人信息;通过更新浏览器和开启安全筛选器来加强安全性;安装扩展程序以增强功能,并设置启动选项和快捷方式以便于操作。通过这些方法,你可以根据个人需求打造个性化的浏览器环境。
128 5
|
5月前
|
安全 Oracle Java
edge浏览器加载java插件
edge浏览器加载java插件
340 1
|
5月前
|
安全
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
|
5月前
|
Web App开发 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【9月更文挑战第1天】当 Edge 浏览器提示“此网站被举报为不安全”时,可尝试:关闭 Microsoft Defender SmartScreen;检查网站安全性;清除缓存和 Cookie;更新 Edge 至最新版;或使用其他浏览器。若问题依旧,联系网站管理员和技术支持。同时,避免在不可信网站输入敏感信息,保护网络安全与隐私。
793 7
|
6月前
|
存储 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【8月更文挑战第19天】如果Edge浏览器提示“此网站已被人举报不安全”,首先确认网站可信度及安全证书有效性,避免访问可疑网站。检查浏览器是否需要更新,并确保自动更新功能已开启。可暂时关闭Microsoft Defender SmartScreen(不建议长期关闭),清除缓存和Cookies,或检查第三方安全软件设置。若问题持续,考虑重置Edge浏览器设置,保留重要数据。如仍无法解决,联系网站管理员或微软支持。
603 7

热门文章

最新文章