我正在尝试使用@babel/plugin-proposal-optional-chaining
,所以我可以{{ user?.name || 'Oops' }}
在我的 vue 模板中这样做。我已将该插件添加到我的 babel.config.js 中,但它仍然出现 vue-loader 错误。经过一番搜索,似乎 vue 使用 buble 而不是 babel 来转换模板标签内的 js。
有没有办法使用 babel 而不是 buble 来转换模板中的 js?
我正在尝试使用@babel/plugin-proposal-optional-chaining
,所以我可以{{ user?.name || 'Oops' }}
在我的 vue 模板中这样做。我已将该插件添加到我的 babel.config.js 中,但它仍然出现 vue-loader 错误。经过一番搜索,似乎 vue 使用 buble 而不是 babel 来转换模板标签内的 js。
有没有办法使用 babel 而不是 buble 来转换模板中的 js?
如果您使用的是 webpack,请在 build/webpack..conf.js 上尝试此操作(替换测试匹配的位置并根据您的偏好进行调整)
module.exports = {
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
js: 'babel-loader'
}
}
},
{
test: /\.js$/,
use: [{
loader: "babel-loader",
options: { presets: ['es2015'], compact: false } // Add here your options!
}]
},
...
]
...
}
...
}
也许你必须安装和配置 babel 并使用文件 .babelrc 来添加提案和 babel-loader
如果不是 webpack,请添加有关您的项目结构和编译/转译方式的更多信息(或迁移到 webpack,是转译的好朋友)。
另外,如果您需要更多帮助,请告诉我。
希望它至少有一点帮助:)