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