【chrome扩展开发】vue3 引用 vue-i18n 报错 Refused to evaluate a string as JavaScript because ‘unsafe-eval‘

背景

vue3 引用 vue-i18n 报错 Refused to evaluate a string as JavaScript because ‘unsafe-eval‘

环境

  • vue: ^3.2.13
  • vue-i18n: ^9.9.0

错误信息

Uncaught (in promise) EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' http://localhost:* http://127.0.0.1:*".

解决方案

新增 Webpack 配置 :__INTLIFY_JIT_COMPILATION__ 配置为 true

vue.config.js 具体配置方式:

...
const plugins = [
  new CopyWebpackPlugin({
    patterns: copyFiles
  }),

  // 解决 引用 vueI18n EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self
  new webpack.DefinePlugin({
    __INTLIFY_JIT_COMPILATION__: JSON.stringify(true)  // 设置为true启用即时编译
  })
];

module.exports = {
...
configureWebpack: {
...
plugins,

}
...
}

具体原因

https://vue-i18n.intlify.dev/guide/advanced/optimization#jit-compilation

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值