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 相关文章推荐
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
Nov 08 Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 Javascript
js实现的复制兼容chrome和IE
Apr 03 Javascript
jquery实现倒计时效果
Dec 14 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
Dec 14 Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
Vue.js父与子组件之间传参示例
Feb 28 Javascript
React Native使用百度Echarts显示图表的示例代码
Nov 07 Javascript
JS实现的ajax和同源策略(实例讲解)
Dec 01 Javascript
脚手架vue-cli工程webpack的基本用法详解
Sep 29 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面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
php实现httpRequest的方法
2015/03/13 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python中内建函数的简单用法说明
2016/05/05 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
Django如何将URL映射到视图
2019/07/29 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
python程序输出无内容的解决方式
2020/04/09 Python
python中元组的用法整理
2020/06/15 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
《赶海》教学反思
2014/04/20 职场文书
假释思想汇报范文
2014/10/11 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书