vite vue i18n Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source


自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/**')
    })
  ]
})

參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM