Vue2.0 ES6語(yǔ)法降級(jí)ES5的操作
由于部分低版本的手機(jī)還不支持ES6語(yǔ)法,將會(huì)導(dǎo)致vue報(bào)錯(cuò)。綜合了網(wǎng)上的各種辦法,我的項(xiàng)目現(xiàn)在終于成功降級(jí)ES5.
首先安裝插件
npm install -D babel-preset-es2015 babel-core babel-preset-stage-2 babel-loader
編輯配置文件
編輯/build/webpack.base.conf.js
編輯entry節(jié)點(diǎn),變成如下
entry: {
app: ['babel-polyfill', './src/main.js']
}
替換module.rules數(shù)組中的
{
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內(nèi)容為
{
"presets": [
"es2015",
"stage-2"
],
"plugins": [
]
}
如果使用了URLSearchParams,需要安裝npm install url-search-params-polyfill --save,然后在使用了該對(duì)象的類頭部引入import 'url-search-params-polyfill'
最后npm run build 編譯。
驗(yàn)證是否成功
查看dist目錄下編譯出來(lái)的js里面是否還有const/let等ES6的語(yǔ)法,沒有的話基本就成功了。
補(bǔ)充知識(shí):vue-cli3.x 組件es6 轉(zhuǎn)es5 失敗 導(dǎo)致低版本瀏覽器報(bào)錯(cuò)
錯(cuò)誤為 Uncaught SyntaxError: Unexpected token ...
這個(gè)問題網(wǎng)上看了很多解決方式 都沒發(fā)實(shí)現(xiàn)這個(gè)組件轉(zhuǎn)化成ES5
這個(gè)坑爹的組件就是 vue-superslide
來(lái)看一下他入口文件的內(nèi)容
// 導(dǎo)入組件
import superslide from './superslide'
// import superSlide from "./slide";
// import SuperSlideItem from "./slide-item";
// 存儲(chǔ)組件列表
const components = [superslide]
// 定義 install 方法,接收 Vue 作為參數(shù)。如果使用 use 注冊(cè)插件,則所有的組件都將被注冊(cè)
const install = function(Vue) {
// 判斷是否安裝
if (install.installed) return
// 遍歷注冊(cè)全局組件
components.map(component => Vue.component(component.name, component))
}
// 判斷是否是直接引入文件
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue)
}
export default {
// 導(dǎo)出的對(duì)象必須具有 install,才能被 Vue.use() 方法安裝
install,
// 以下是具體的組件列表
...components
}
真的是有es6語(yǔ)法 悲傷 整個(gè)項(xiàng)目只有這個(gè)組件沒有轉(zhuǎn)義成ES5 不明所以 還是要解決啊 我并沒有放棄它
解決方式 去node_modules文件夾下面找到,把它當(dāng)一個(gè)靜態(tài)資源引入直接放在assets目錄下
原來(lái)插件的引入方式是
import VueSuperSlide from 'vue-superslide'
Vue.use(VueSuperSlide)
現(xiàn)在的引入方式是
import VueSuperSlide from './assets/js/vue-superslide/packages/index.js'
Vue.use(VueSuperSlide)
這簡(jiǎn)直的 LOW 到不行 但解決問題了 我忍一忍。
以上這篇Vue2.0 ES6語(yǔ)法降級(jí)ES5的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue使用計(jì)算屬性完成動(dòng)態(tài)滑竿條制作
這篇文章主要介紹了vue使用計(jì)算屬性完成動(dòng)態(tài)滑竿條制作,文章圍繞計(jì)vue算屬制作動(dòng)態(tài)滑竿條的相關(guān)代碼完成內(nèi)容,需要的朋友可以參考一下2021-12-12
element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案
本文主要介紹了element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
詳解vue-cli構(gòu)建項(xiàng)目反向代理配置
本篇文章主要介紹了詳解vue-cli構(gòu)建項(xiàng)目反向代理配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-09-09
Vue實(shí)現(xiàn)簡(jiǎn)單可擴(kuò)展甘特圖的方法詳解
Ganttastic是一個(gè)小型的Vue.js組件,用于在Web應(yīng)用程序上呈現(xiàn)一個(gè)可配置的、可拖動(dòng)的甘特圖。本文就將用它來(lái)實(shí)現(xiàn)簡(jiǎn)單可擴(kuò)展的甘特圖,感興趣的可以嘗試一下2022-11-11
vue深度監(jiān)聽(監(jiān)聽對(duì)象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實(shí)例
這篇文章主要介紹了vue深度監(jiān)聽(監(jiān)聽對(duì)象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-09-09
Vue+element使用row-class-name修改el-table某一行解決背景色無(wú)效的方法
本文主要介紹了Vue+element使用row-class-name修改el-table某一行解決背景色無(wú)效的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

