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 相关文章推荐
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
Feb 07 Javascript
JS trim去空格的最佳实践
Oct 30 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
Nov 20 Javascript
Jquery焦点图实例代码
Nov 25 Javascript
JavaScript实现打开链接页面的方式汇总
Jun 02 Javascript
javascript类型系统_正则表达式RegExp类型详解
Jun 24 Javascript
js实现导航吸顶效果
Feb 24 Javascript
TypeScript入门-基本数据类型
Mar 28 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
May 27 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 03 Javascript
javascript 内存模型实例详解
Apr 18 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 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下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
Python 返回汉字的汉语拼音
2009/02/27 Python
Python中的ConfigParser模块使用详解
2015/05/04 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
python读取Excel表格文件的方法
2019/09/02 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
考博自荐信
2013/10/25 职场文书
求职简历中的自我评价分享
2013/12/08 职场文书
致200米运动员广播稿
2014/02/06 职场文书
超市商业计划书
2014/05/04 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书