Vue2.0 ES6語法降級ES5的操作
由于部分低版本的手機還不支持ES6語法,將會導致vue報錯。綜合了網(wǎng)上的各種辦法,我的項目現(xiàn)在終于成功降級ES5.
首先安裝插件
npm install -D babel-preset-es2015 babel-core babel-preset-stage-2 babel-loader
編輯配置文件
編輯/build/webpack.base.conf.js
編輯entry節(jié)點,變成如下
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內容為
{ "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 ...
這個問題網(wǎng)上看了很多解決方式 都沒發(fā)實現(xiàn)這個組件轉化成ES5
這個坑爹的組件就是 vue-superslide
來看一下他入口文件的內容
// 導入組件 import superslide from './superslide' // import superSlide from "./slide"; // import SuperSlideItem from "./slide-item"; // 存儲組件列表 const components = [superslide] // 定義 install 方法,接收 Vue 作為參數(shù)。如果使用 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文件夾下面找到,把它當一個靜態(tài)資源引入直接放在assets目錄下
原來插件的引入方式是
import VueSuperSlide from 'vue-superslide'
Vue.use(VueSuperSlide)
現(xiàn)在的引入方式是
import VueSuperSlide from './assets/js/vue-superslide/packages/index.js'
Vue.use(VueSuperSlide)
這簡直的 LOW 到不行 但解決問題了 我忍一忍。
以上這篇Vue2.0 ES6語法降級ES5的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue和react等項目中更簡單的實現(xiàn)展開收起更多等效果示例
這篇文章主要介紹了vue和react等項目中更簡單的實現(xiàn)展開收起更多等效果示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02echarts實現(xiàn)獲取datazoom的起始值(包括x軸和y軸)
這篇文章主要介紹了echarts實現(xiàn)獲取datazoom的起始值(包括x軸和y軸),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07ElementUI的this.$notify.close()調用不起作用的解決
本文主要介紹了ElementUI的this.$notify.close()調用不起作用的解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08