vuejs3 - “新功能”中的 VUE3 CSP 问题
问题描述
我正在将 vue 3.1.5 和 vue cli 4.5.0 用于 chrome 扩展等特殊应用程序并收到以下错误
“拒绝将字符串评估为 JavaScript,因为 'unsafe-eval' 不是以下内容安全策略指令中允许的脚本来源:“script-src chrome://resources 'self'”。
在 runtime-core.esm-bundler.js
function compileToFunction(source, options = {}) {
...
// compile
const { code } = baseCompile(source, options);
// evaluate function
const msg = new Function(return ${code})();
...
}
有没有办法构建与 CSP 兼容的 vue3 应用程序?
我已经尝试过这些选项
- config.resolve.alias.set('vue$', 'vue/dist/vue.esm.js');
- configureWebpack: { devtool: inline-source-map }
- 配置Webpack:{开发工具:假}
还有其他选择还是我错过了什么?
问候, 帕维尔
解决方案
是的,Vuenew Function
用于模板的运行时编译。
如果您不希望'unsafe-eval'
在 CSP 中允许,则必须将模板预编译为渲染函数。
推荐阅读
- xml - 管理 xmlagg 的空值
- html - Re-order cards in different columns on smaller screen sizes
- javascript - 无法让 JavaScript 连接到 PostgresSql
- ros - Gazebo shows more robots than robot launched number
- javascript - How to add to each object in an array a key-pair value based on each objects id?
- reactjs - change "css" (in one component) based on some condition in other component? (REACT)
- azure - TableEntity 仅部分保存在 auzre 存储表中
- python - 多线程在停止后继续工作(Python
- r - 将复杂的 json 转换为数据集
- c# - 如何修复错误“设计者必须创建一个类型为“”的实例,但不能因为它标记为抽象”