Kay*_*man 17 javascript vuejs3 vite
我已经将我的项目从 Vite 2.x 更新到 Vite 3.0.2,突然出现以下错误:
[plugin:vite:import-analysis] 无法解析导入分析源,因为内容包含无效的 JS 语法。如果您使用 JSX,请确保使用 .jsx 或 .tsx 扩展名命名该文件。
/Volumes/Disk/Web/wce-system/src/i18n.js:51:20
i18n.js 文件中没有任何问题,因为它在 Vite 2.x 上运行良好,但我将代码放在这里以防万一您需要:
import { nextTick } from "vue"
import { createI18n } from "vue-i18n"
import axios from "axios"
import tr from "@/locales/tr.json"
import en from "@/locales/en.json"
export const SUPPORT_LOCALES = ["tr", "en"]
export function setupI18n(options = { locale: "tr" }) {
const i18n = createI18n(options)
setI18nLanguage(i18n, options.locale)
return i18n
}
export function setI18nLanguage(i18n, locale, url) {
if (i18n.mode === "legacy") {
i18n.global.locale = locale
} else {
i18n.global.locale.value = locale
}
axios.defaults.headers.common["Accept-Language"] = locale
document.querySelector("html").setAttribute("lang", locale)
}
export async function loadLocaleMessages(i18n, locale) {
const messages = await import(
/* webpackChunkName: "locale-[request]" */ `./locales/${locale}.json`
)
i18n.global.setLocaleMessage(locale, messages.default)
return nextTick()
}
const i18n = createI18n({
legacy: false,
locale: "tr",
fallbackLocale: "tr",
globalInjection: true,
messages: {
tr,
en,
},
})
export default i18n
Run Code Online (Sandbox Code Playgroud)
所以我想通了。这行:
const messages = await import(
/* webpackChunkName: "locale-[request]" */ `./locales/${locale}.json`
)
Run Code Online (Sandbox Code Playgroud)
本来应该:
const messages = await import(`./locales/${locale}.json`)
Run Code Online (Sandbox Code Playgroud)
我无法解释为什么会这样,但我在下面留下有关问题的链接。
这可能有助于进一步调查
| 归档时间: |
|
| 查看次数: |
75846 次 |
| 最近记录: |