Vue2.0 ES6语法降级ES5的操作


Posted in Javascript onOctober 30, 2020

由于部分低版本的手机还不支持ES6语法,将会导致vue报错。综合了网上的各种办法,我的项目现在终于成功降级ES5.

首先安装插件

npm install -D babel-preset-es2015 babel-core babel-preset-stage-2 babel-loader

编辑配置文件

编辑/build/webpack.base.conf.js

编辑entry节点,变成如下

entry: {
  app: ['babel-polyfill', './src/main.js']
}

替换module.rules数组中的

{
    test: /\.js$/,
     loader: 'babel-loader',
     include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
    }

{
    test: /\.js$/,
    exclude: /node_modules/, // 处理除了nodde_modules里的js文件
    loader: 'babel-loader'
}

再根目录新建.babelrc内容为

{
 "presets": [
  "es2015",
  "stage-2"
 ],
 "plugins": [

 ]
}

如果使用了URLSearchParams,需要安装npm install url-search-params-polyfill --save,然后在使用了该对象的类头部引入import 'url-search-params-polyfill'

最后npm run build 编译。

验证是否成功

查看dist目录下编译出来的js里面是否还有const/let等ES6的语法,没有的话基本就成功了。

补充知识:vue-cli3.x 组件es6 转es5 失败 导致低版本浏览器报错

错误为 Uncaught SyntaxError: Unexpected token ...

这个问题网上看了很多解决方式 都没发实现这个组件转化成ES5

这个坑爹的组件就是 vue-superslide

来看一下他入口文件的内容

// 导入组件
import superslide from './superslide'
// import superSlide from "./slide";
// import SuperSlideItem from "./slide-item";
 
// 存储组件列表
const components = [superslide]
 
// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册
const install = function(Vue) {
 // 判断是否安装
 if (install.installed) return
 // 遍历注册全局组件
 components.map(component => Vue.component(component.name, component))
}
 
// 判断是否是直接引入文件
if (typeof window !== 'undefined' && window.Vue) {
 install(window.Vue)
}
 
export default {
 // 导出的对象必须具有 install,才能被 Vue.use() 方法安装
 install,
 // 以下是具体的组件列表
 ...components
}

真的是有es6语法 悲伤 整个项目只有这个组件没有转义成ES5 不明所以 还是要解决啊 我并没有放弃它

解决方式 去node_modules文件夹下面找到,把它当一个静态资源引入直接放在assets目录下

原来插件的引入方式是

import VueSuperSlide from 'vue-superslide'

Vue.use(VueSuperSlide)

现在的引入方式是

import VueSuperSlide from './assets/js/vue-superslide/packages/index.js'

Vue.use(VueSuperSlide)

这简直的 LOW 到不行 但解决问题了 我忍一忍。

以上这篇Vue2.0 ES6语法降级ES5的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 处理网页内容的实现代码
Feb 15 Javascript
JavaScript图像延迟加载库Echo.js
Apr 05 Javascript
CSS3 3D 技术手把手教你玩转
Sep 02 Javascript
JavaScript 中 avalon绑定属性总结
Oct 19 Javascript
微信小程序开发探究
Dec 27 Javascript
Bootstrap table表格简单操作
Feb 07 Javascript
node.js中express-session配置项详解
May 31 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
Nov 27 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
Vue.js计算机属性computed和methods方法详解
Oct 12 Javascript
Vue自定义表单内容检查rules实例
Oct 30 #Javascript
探索node之事件循环的实现
Oct 30 #Javascript
使用TS来编写express服务器的方法步骤
Oct 29 #Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
Oct 29 #Javascript
vue3.0搭配.net core实现文件上传组件
Oct 29 #Javascript
使用jQuery实现购物车
Oct 29 #jQuery
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 #Javascript
You might like
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
php json相关函数用法示例
2017/03/28 PHP
java script编程起步(第三课)
2007/01/10 Javascript
新手入门常用代码集锦
2007/01/11 Javascript
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
深入理解es6块级作用域的使用
2019/03/28 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
分析python服务器拒绝服务攻击代码
2014/01/16 Python
python分割列表(list)的方法示例
2017/05/07 Python
python中count函数简单用法
2020/01/05 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
数组越界问题
2015/10/21 面试题
酒店办公室文员岗位职责
2013/12/18 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
贷款担保书范文
2014/05/13 职场文书
个人综合鉴定材料
2014/05/23 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
调任通知
2015/04/21 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python