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 扩展对input的一些操作方法
Oct 30 Javascript
JavaScript CSS 修改学习第四章 透明度设置
Feb 19 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
Jul 14 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
浅谈vue.js中v-for循环渲染
Jul 26 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
layui实现鼠标移动到单元格上显示数据的方法
Sep 11 Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
Jan 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获取网页里所有图片并存入数组的方法
2015/04/06 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
python获取代理IP的实例分享
2018/05/07 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
Python中的asyncio代码详解
2019/06/10 Python
ipython和python区别详解
2019/06/26 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
python用700行代码实现http客户端
2021/01/14 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
linux下进程间通信的方式
2014/12/23 面试题
美术毕业生求职信
2014/02/25 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
协会周年庆活动方案
2014/08/26 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript