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 相关文章推荐
JS 自动安装exe程序
Nov 30 Javascript
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
Sep 12 Javascript
编写高效jQuery代码的4个原则和5个技巧
Apr 24 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
weui上传多图片,压缩,base64编码的示例代码
Jun 22 Javascript
JavaScript实现与web通信的方法详解
Aug 07 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
Oct 29 Javascript
Vue如何清空对象
Mar 03 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
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调用数据库的存贮过程
2006/10/09 PHP
用 php 编写的日历
2006/10/09 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
js 获取Listbox选择的值的代码
2010/04/15 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
vue实现移动端input上传视频、音频
2020/08/18 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python之list对应元素求和的方法
2018/06/28 Python
详解python3中的真值测试
2018/08/13 Python
python队列Queue的详解
2019/05/10 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
python实现马丁策略的实例详解
2021/01/15 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
软件测试工程师面试问题精选
2016/10/28 面试题
庆元旦迎新年广播稿
2014/02/18 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
门面房租房协议书
2014/08/20 职场文书
个人承诺书格式范文
2015/04/29 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
MySQL系列之十一 日志记录
2021/07/02 MySQL