SyntaxError: Неожиданное ключевое слово «const».Объявление Const не поддерживается в строгом режиме - PullRequest
0 голосов
/ 29 мая 2018

Получение вышеупомянутой синтаксической ошибки в Nuxt 1.4 проекте.

Это происходит в Safari 9, то же самое работает в Chrome.

Я искал на SOи обнаружил проблему из-за проблемы совместимости браузера с кодом ES6, но не смог найти правильного решения проблемы (проект Nuxt).

Веб-сайт должен работать и на старых версиях браузера.

Ниже приведены сведения о файле nuxt.config.js и package.json

  1. nuxt.config.js
module.exports = {
  /*
  ** Build configuration
  */
  build: {
    /*
    ** Run ESLint on save
    */
    extend (config, { isDev, isClient }) {
      if (isDev && isClient) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/
        })
      }
    },
    vendor: ['babel-polyfill']
  }
}
package.json
{
  "dependencies": {
    "axios": "^0.18.0",
    "babel-polyfill": "^6.26.0",
    "nuxt": "^1.4.0",
    "vee-validate": "^2.0.5",
    "vue-carousel": "^0.6.5",
    "vue-i18n": "^7.4.2",
    "vue-smooth-scroll": "^1.0.13",
    "vue-tabs-component": "^1.4.0",
    "vue-youtube-embed": "^2.1.3",
    "vue2-google-maps": "^0.8.8"
  },
  "devDependencies": {
    "ava": "^0.25.0",
    "babel-eslint": "^8.2.1",
    "eslint": "^4.17.0",
    "eslint-config-standard": "^11.0.0-beta.0",
    "eslint-friendly-formatter": "^3.0.0",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-html": "^4.0.2",
    "eslint-plugin-import": "^2.8.0",
    "eslint-plugin-node": "^6.0.0",
    "eslint-plugin-promise": "^3.6.0",
    "eslint-plugin-standard": "^3.0.1",
    "eslint-plugin-vue": "^4.0.0",
    "jsdom": "^11.6.2"
  },
  "babel": {
    "presets": [
      "es2015"
    ]
  }
}

1 Ответ

0 голосов
/ 05 июня 2018

Вам следует использовать Babel для компиляции вашего кода до обычного кода es5 или es6, в зависимости от совместимости, которую вы ищете.

В Nuxt есть опция babel, которую вы можете использовать в своемnuxt.config.js, который позаботится о компиляции для вас.Посмотрите документацию для опции babel здесь: https://nuxtjs.org/api/configuration-build#babel

Если вы получаете сообщение об ошибке изнутри Nuxt, вам следует перейти на nuxt-edge для поддержки прежних версий.

...