自vue-i18n@v9.0,用消息編譯器處理locale消息,編譯后將它們轉換為javascript函數。在編譯后,消息編譯器將它們轉換為javascript函數,這可以提高應用程序的性能。
然而,使用消息編譯器,在某些環境下(如CSP),javascript函數的轉換將不起作用。由於這個原因,vue-i18n@v9.0 及以后的版本提供了一個包括編譯器和運行時的完整版本,以及一個只包括運行時的版本。
使用 vite 插件 vite-plugin-vue-i18n 處理這個問題
npm i --save-dev @intlify/vite-plugin-vue-i18n
vite.config.ts
import vueI18n from '@intlify/vite-plugin-vue-i18n'
export default defineConfig({
plugins: [
vue(),
vueI18n({
// you need to set i18n resource including paths !
include: path.resolve(__dirname, './path/to/src/locales/**')
})
]
})
參考資料: