vue-i18n-composable icon indicating copy to clipboard operation
vue-i18n-composable copied to clipboard

Cannot use vue-i18n-composable with vue-cli v4.5.19

Open haugero opened this issue 3 years ago • 5 comments

I want to use your vue-i18n-composable with vue 2.7 and vue-i18n v8 in my vue project. But I get the following error:

Uncaught TypeError: Cannot read properties of undefined (reading 'config')
    at VueI18n._initVM (vue-i18n.common.js?08a3:1355:1)
    at new VueI18n (vue-i18n.common.js?08a3:1294:1)
    at createI18n (index.mjs?6239:6:1)
    at eval (main.ts?e4f2:11:1)
    at ./src/main.ts (app.js:1183:1)
    at __webpack_require__ (app.js:854:30)
    at fn (app.js:151:20)
    at 1 (app.js:1244:18)
    at __webpack_require__ (app.js:854:30)
    at checkDeferredModules (app.js:46:23)

I configure vue-i18n like it is described in the README and yes, I do use Vue.use(VueI18n);

To reproduce the issue I have created 2 projects from scratch. If I build the project with vue-cli v5 everything works BUT with vue-cli v4 I get the mentioned error.

To reproduce the error I have created https://github.com/haugero/vue2.7-vue-i18n-composable

I think it should also work with vue-cli 4 or?

haugero avatar Aug 19 '22 15:08 haugero

I have the same issue, but also i found that after "new VueI18n" code running at "vue-i18n.esm.js", but after "createI18n" it goes to "vue-i18n.common.js". Maybe it will help

Luminescenciya avatar Aug 23 '22 14:08 Luminescenciya

For me the problem was indeed, that I had my createI18n function in an extra file and that had been executed BEFORE Vue.use(VueI18n). When I added Vue import and called it before createI18n({... it worked fine again.

karladler avatar Sep 20 '22 12:09 karladler

I'm getting this with @vue/[email protected], but using storybook. I tried the simple reproduction repo, which does indeed work when you update to 5.0.8.

gavmck avatar Oct 26 '22 06:10 gavmck

@Luminescenciya that pointed me in the right direction, I forced the vue-i18n file using webpacks alias's

'vue-i18n': path.join(__dirname, '../node_modules/vue-i18n/dist/vue-i18n.js'),

gavmck avatar Oct 26 '22 08:10 gavmck

Thanks

kele59 avatar Nov 16 '22 11:11 kele59