【问题标题】:How to configure Nuxt 2.8 to generate ES5-compatible code?如何配置 Nuxt 2.8 以生成兼容 ES5 的代码?
【发布时间】:2019-12-23 15:13:32
【问题描述】:

默认情况下 Nuxt 生成(通过'nuxt generate')代码,与 ES5 标准不兼容。

如何改正?

究竟需要在 nuxt.config.js 中编写什么才能确保一切正确? //我知道这些是Babel的一些预设,但不知道是哪些

谢谢!

更新:Nuxt 生成的代码使用 'const' 而不是 'var' - 它不是 'ES5 兼容代码',不是吗?

【问题讨论】:

  • 默认情况下 nuxt 生成的代码即使在 ie9 中也能正常工作
  • 但不能在 Android 5.1 WebView 中工作 :(
  • 它应该可以工作。如果它不是其他的东西,例如您正在使用的第三方依赖项具有该 const
  • 我使用 Quasar 作为 Nuxt 插件 - 也许是这样?

标签: javascript vue.js babeljs nuxt.js


【解决方案1】:

我相信 Nuxt 默认会生成 ES5 兼容的代码,但是如果您需要更改浏览器目标,您可以使用以下代码:

build: {
  babel: {
    presets: [
      [
        require.resolve("@nuxt/babel-preset-app"),
        {
          browsers: ["IE 11", "last 2 version"]
        }
      ]
    ];
  }
}

关于browsers属性中可以使用的内容,请参考browserslist documentation

【讨论】:

  • 谢谢!但我不明白,我可以写什么来获得没有'const'(而不是'var')的代码。 Android 5.1 WebView 不运行它,因为“未捕获的语法错误:在严格模式下使用 const。” -- 我需要获得 ES5 兼容的代码 - 我该怎么做?
【解决方案2】:

问题出在以 Nuxt-plugin(Node-CLI 模块)连接的 Quasar.js 中。

这样就解决了:

在 nuxt.config.js 中:

build: {
    transpile: [
      'quasar',
    ],
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-05
    • 2010-12-08
    • 2018-12-08
    • 2018-03-20
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多