vue第三方js不編譯
『壹』 vue項目編譯不支持es11
Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法模擬的 ECMAScript 5 特性。但對於 IE9+,Vue 底層是支持。
由於開發過程中,我們經常會使用一些第三方插件或組件,對於這些組件,有時我們需要做一些處理。下述主要闡述如何使用 vue-cli3 腳手架搭建的工程支持 IE11。
現象
IE11 打開 Vue 工程(Vue CLI)構建而來出現空白頁,控制台告警、報錯。
如:
DOM7011: 此頁上的代碼禁用了反向和正向緩存
HTML1300:進行了導航
app.js 各種語法錯誤
browserslist
項目中 package.json 文件里的 browserslist 欄位 (或一個單獨的 .browserslistrc 文件),指定了項目的目標瀏覽器的范圍。這個值會被 @babel/preset-env 和 Autoprefixer 用來確定需要轉譯的 JavaScript 特性和需要添加的 CSS 瀏覽器前綴。
@babel/preset-env:將你使用最新 JavaScript 語法,靈活的轉化為目標瀏覽器所支持的 polyfill。
Autoprefixer:PostCSS 插件,為瀏覽器增加前綴。
.browserslistrc
> 1%
last 2 versions
not ie < 11
Polyfill
默認的 Vue CLI 項目會使用 @vue/babel-preset-app,它通過 @babel/preset-env 和 browserslist 配置來決定項目需要的 polyfill。
默認情況下,它會把 useBuiltIns: 'usage' 傳遞給 @babel/preset-env,這樣它會根據源代碼中出現的語言特性自動檢測需要的 polyfill。這確保了最終包里 polyfill 數量的最小化。然而,這也意味著如果其中一個依賴需要特殊的 polyfill,默認情況下 Babel 無法將其檢測出來。
『貳』 vue3 模板編譯報錯
template 會在編譯的時候警告
意思: 組件提供模板選項,但是在Vue的這個構建中不支持運行時編譯,配置你的bundler別名 vue: vue/dist/vue.esm-bundler.js
vue 的使用環境,分為兩種環境,一種是開發,一種是生產,
原文鏈接: https://blog.csdn.net/qq_41499782/article/details/112505665