[英]Nuxt: using `optional chaining operator` operator (.?)
Nuxt 2.12.2 在嘗試使用object?.key
時在構建時拋出錯誤。
Module parse failed: Unexpected token (311:25) friendly-errors 10:36:40
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file
所以這是因為 Nuxt 中的babel
配置為支持我的項目中不需要的舊瀏覽器,例如IE9
。
在另一個項目中,我只是把.bablelrc
{
"presets": [
["env", {
"targets": {
"browsers": ["last 2 Chrome versions"]
}
}]
]
}
但在 Nuxt .bablelrc
中被禁用。 那么如何使optional chaining operator
工作?
通過告訴 Nuxt 只支持現代瀏覽器。 或添加@babel/plugin-proposal-optional-chaining
正如Nuxtjs Doc描述的那樣,默認情況下會忽略.babelrc
。
我通過以下配置解決了這個問題。
// in nuxt.config.js
{
// ...
build: {
// ....
babel: {
plugins: [
'@babel/plugin-proposal-optional-chaining'
]
}
}
}
當然,在此之前,你應該安裝@babel/plugin-proposal-optional-chaining
npm i -D @babel/plugin-proposal-optional-chaining
我希望它對你有幫助。
它使用Babel
為Vue.js SFC
啟用Optional Chaining(?.)
、 Nullish Coalescing(??)
和許多新的 ES 語法。
npm install vue-template-babel-compiler --save-dev
// nuxt.config.js
export default {
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
loaders: {
vue: {
compiler: require('vue-template-babel-compiler')
}
},
},
// ...
}
支持Vue-CLI, Nuxt.js, Webpack
,任何環境使用vue-loader v15+
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.