8

我正在尝试使用@babel/plugin-proposal-optional-chaining,所以我可以{{ user?.name || 'Oops' }}在我的 vue 模板中这样做。我已将该插件添加到我的 babel.config.js 中,但它仍然出现 vue-loader 错误。经过一番搜索,似乎 vue 使用 buble 而不是 babel 来转换模板标签内的 js。

有没有办法使用 babel 而不是 buble 来转换模板中的 js?

4

1 回答 1

0

如果您使用的是 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,是转译的好朋友)。

另外,如果您需要更多帮助,请告诉我。

希望它至少有一点帮助:)

于 2019-02-01T22:30:29.040 回答