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 相关文章推荐
麦鸡的TAB切换功能结合了javascript和css
Dec 17 Javascript
JavaScript 无符号右移赋值操作
Apr 17 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
Mar 24 Javascript
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
Mar 02 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
jquery实现左右无缝轮播图
Jul 31 Javascript
jQuery的框架介绍
May 11 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
vue 微信授权登录解决方案
Apr 10 Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 Javascript
分享一款超好用的JavaScript 打包压缩工具
Apr 26 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
php session劫持和防范的方法
2013/11/12 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
jQuery实现购物车表单自动结算效果实例
2015/08/10 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
Django 生成登陆验证码代码分享
2017/12/12 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
python解包用法详解
2021/02/17 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
20岁生日感言
2014/01/13 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
大专会计自我鉴定
2014/02/06 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
高中生旷课检讨书
2014/10/08 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫