我正在将 React Semantic UI 与 Webpack 一起使用,我部署的上下文不允许自嵌入字体(data:application/x-font-ttf(,但它确实允许相对路径字体,这会导致错误:
Refused to load the font 'data:application/x-font-ttf;charset=utf-8;base64[...]
because it violates the following Content Security Policy directive: "font-src https://locationofmyapp.com https://fonts.googleapis.com https://fonts.gstatic.com".
使用什么最快/最干净的工具集来完全删除data:application/font-woff
并从样式表中data:application/x-font-ttf
组件?
如果其他人遇到这种情况,问题是语义UI中有拼写错误。
多个文件包含双分号;;
要解决此问题,请执行以下操作:
-
删除包含双分号的每个文件;;
-
node_modulessemantic-ui-csscomponentsstep.min.css
-
node_modulessemantic-ui-csscomponentsstep.css
-
node_modulessemantic-ui-csssemantic.min.css
-
node_modulessemantic-ui-csssemantic.css
-
-
删除
node_modules
缓存文件夹:-
node_modules.cachedefault-development
-
node_modules.cachebabel-loader
-
-
重新启动开发服务器(
yarn start
或npm start
(
我不知道解决您问题的工具,但我有一个具有相同问题的应用程序。我只是从字体源获取 font-face 指令并下载了 fonts woof2 存档,然后我指向语义 ui 从我的本地字体文件夹中获取字体,然后我授权从那里在我的服务器中执行它:
font-src 'self' data:
这样我就可以从这两个词中得到最好的结果。data:application/x-font-ttf 使字体加载速度更快,您的应用程序将获得速度并保持安全性,但您必须确保它从安全源加载。