vue add i18n сталкивается с ошибкой с vuejs3 и @vue/cli 4.5.4, что означает эта ошибка и как ее отлаживать?

когда я пытаюсь vue добавить i18n, я запускаю эту ошибку:

    ????  Invoking generator for vue-cli-plugin-i18n...
 ERROR  Error: You cannot call "get" on a collection with no paths. Instead, check the "length" property first to verify at least 1 path exists.
Error: You cannot call "get" on a collection with no paths. Instead, check the "length" property first to verify at least 1 path exists.
    at Collection.get (/usr/local/lib/node_modules/@vue/cli/node_modules/jscodeshift/src/Collection.js:213:13)
    at injectOptions (/usr/local/lib/node_modules/@vue/cli/lib/util/codemods/injectOptions.js:15:6)
    at runTransformation (/usr/local/lib/node_modules/@vue/cli/node_modules/vue-codemod/dist/src/run-transformation.js:61:17)
    at Object.keys.forEach.file (/usr/local/lib/node_modules/@vue/cli/lib/Generator.js:290:23)
    at Array.forEach (<anonymous>)
    at Generator.resolveFiles (/usr/local/lib/node_modules/@vue/cli/lib/Generator.js:276:24)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Команда package.json перед vue add выглядит так:

{
  "name": "com.food-cheatsheet",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.5",
    "vue": "^3.0.0-0",
    "vue-router": "^4.0.0-0"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.0-0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^7.0.0-0",
    "tailwindcss": "^1.7.5"
  }
}

Я настроил проект с помощью vue create и пока установил tailwindcss и postcss.

Можете ли вы описать мне, что на самом деле означает ошибка? Я думаю, это не имеет ничего общего с i18n, но будет происходить и с другими модулями, когда я использую add

  • npm install vue-i18n работает (к вашему сведению)

Дополнительный вопрос

Как настроить i18n в vuejs 3.0? где здесь различия между vuejs2 и 3?


person helle    schedule 27.08.2020    source источник


Ответы (1)


та же проблема с vuetifyjs https://github.com/vuetifyjs/vue-cli-plugins/issues/140

для версии 3

npm install --save vue-i18n@next
yarn add vue-i18n@next

и настроить i18n вручную

примеры из vue-i18n-next:

Пример использования Composable API

Пример использования устаревшего API

Каталог примеров

если хотите установить vue add i18n изменить

createApp(App)
  .use(store)
  .use(router)
  .mount("#app");

to

  new Vue({
    router,
    store,
    render: h => h(App)
  }).$mount("#app");

а для проекта typescript добавьте файл vue-i18n.d.ts, и содержимое

declare module "vue-i18n"

для vue 3 я устанавливаю npm install --save vue-i18n@next вместо vue add i18n

person H.Azizkhani    schedule 09.10.2020
comment
Спасибо, капитан, очевидно ;) Я уже пробовал это, как вы можете прочитать в моем вопросе. Мой вопрос о фактической ошибке. - person helle; 11.10.2020
comment
один из ваших вопросов: как настроить i18n в vuejs 3.0? я настроил как vue 2, и он работает, та же проблема с vuetifyjs github.com/ vuetifyjs/vue-cli-plugins/issues/140 - person H.Azizkhani; 11.10.2020