Open alivadjid opened 1 year ago
after some updates error changed
The same error with @intlify/unplugin-vue-i18n 0.8.2
file:///srv/app/dist/server/entry-server.js:8
import { useI18n, createI18n } from "vue-i18n/dist/vue-i18n.runtime.esm-bundler.js";
^^^^^^^^^^
SyntaxError: Named export 'createI18n' not found. The requested module 'vue-i18n/dist/vue-i18n.runtime.esm-bundler.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from 'vue-i18n/dist/vue-i18n.runtime.esm-bundler.js';
const { useI18n, createI18n } = pkg;
at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)
我也遇见类似的问题,我是在项目中集成了vuepress2
,想在vuepress
展示自己开发的组件。结果导致无法执行pnpm docs:build
。异常信息如下:
import { createI18n, useI18n } from "vue-i18n/dist/vue-i18n.runtime.esm-bundler.js";
^^^^^^^^^^
SyntaxError: Named export 'createI18n' not found. The requested module 'vue-i18n/dist/vue-i18n.runtime.esm-bundler.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from 'vue-i18n/dist/vue-i18n.runtime.esm-bundler.js';
const { createI18n, useI18n } = pkg;
at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)
ELIFECYCLE Command failed with exit code 1.
Well, for solve this error i removed i18n from project, and tried to use self-written package for internationalization.
@alivadjid, The issue is with the Vite plugin unplugin-vue-i18n
, not vue-i18n
. The unplugin-vue-i18n
plugin is optional for vue-i18n
. You can import messages yourself, as described in the documentation.
However, it is very sad that the declared functionality of this plugin does not work.
@alivadjid 我也有类似的问题,我找到了一个折衷方案,希望能够帮助到您,下方是我的的配置:(I have similar problems. I have found a compromise that I hope will help you. Below is my configuration:)
ssr: {
/**
* 由于在 build 时会报错 SyntaxError: Named export 'createI18n' not found.
* The requested module 'vue-i18n/dist/vue-i18n.runtime.esm-bundler.js' is a CommonJS module, which may not support all module.exports as named exports.
* 所以要添加以下配置。详见:https://vite-plugin-ssr.com/common-issues 与 https://vite-plugin-ssr.com/invalid-esm#solution
*/
noExternal: ['vue-i18n']
}
@WangJincheng4869 Your solution fixed my production build but then I could not start my App in dev mode anymore ("module not found"). I uninstalled unplugin-vue-i18n and used vue-i18n directly and now it works in dev and prod.
@WangJincheng4869 Your solution fixed my production build but then I could not start my App in dev mode anymore ("module not found"). I uninstalled unplugin-vue-i18n and used vue-i18n directly and now it works in dev and prod. use const isProduction = process.env.NODE_ENV === 'production';
to do some special case in vite config file.
Reporting a bug?
Hello! I'm using vite-ssr-plugin with vue3 and i18n with unplugin-vue-i18n On build mode I have an error. But on dev mode everything is great.
Found this comment about this problem, https://github.com/intlify/vue-i18n-next/issues/1131#issuecomment-1232596381 And explanation https://github.com/vuejs/core/pull/4814#issuecomment-1232806856 Also there are solution for
vite-plugin-vue-i18n
https://github.com/intlify/bundle-tools/pull/172 But I can't find solutions forunplugin-vue-i18n
Also opened issue in repo vite-plugin-ssr https://github.com/brillout/vite-plugin-ssr/issues/634
If change ssr parameter in vite.config.ts - building is successfull.
According to the documentation ssr can be customized with 4 keys. I'm trying to find out wich key is causing build error.
Expected behavior
No error on build mode
Reproduction
Issue Package
unplugin-vue-i18n
System Info
Screenshot
Additional context
In vite.config.ts config file
createI18n used in app.ts with this:
Validations