由于部分低版本的手机还不支持ES6语法,将会导致vue报错。综合了网上的各种办法,我的项目现在终于成功降级ES5.首先安装插件首先安装插件
npm install -D babel-preset-es2021 babel-core babel-preset-stage-2 babel-loader
npm install -D babel-preset-es2021 babel-core babel-preset-stage-2 babel-loader编辑配置文件编辑配置文件编辑/build/webpack.base.conf.js编辑entry节点,变成如下
entry: {

app: ['babel-polyfill', './src/main.js']
}
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$/,

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'
}
{

test: /\.js$/,

exclude: /node_modules/, // 处理除了nodde_modules里的js文件

loader: 'babel-loader'
}再根目录新建.babelrc内容为
{
"presets": [

"es2021",

"stage-2"
],
"plugins": [

]
}

{
"presets": [

"es2021",

"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 失败 导致低版本浏览器报错补充知识:补充知识: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
}
// 导入组件
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 'vue-superslide'Vue.use(VueSuperSlide)现在的引入方式是
import VueSuperSlide from './assets/js/vue-superslide/packages/index.js'
Vue.use(VueSuperSlide)
import VueSuperSlide from './assets/js/vue-superslide/packages/index.js'Vue.use(VueSuperSlide)这简直的 LOW 到不行 但解决问题了 我忍一忍。以上这篇Vue2.0 ES6语法降级ES5的操作就是小编分享给大家的全部内容了,希望能给大家一个参考。