- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的 webpack 配置指定应使用 url-loader
加载字体,当我尝试使用 Chrome 查看页面时,出现以下错误:
OTS parsing error: invalid version tag
Failed to decode downloaded font: [My local URL]
我配置的相关部分如下所示:
{
module: {
loaders: [
// ...
{
test: /\.scss$/,
loaders: ['style', 'css?sourceMap', 'autoprefixer', 'sass?sourceMap'],
},
{
test: /images\/.*\.(png|jpg|svg|gif)$/,
loader: 'url-loader?limit=10000&name="[name]-[hash].[ext]"',
},
{
test: /fonts\/.*\.(woff|woff2|eot|ttf|svg)$/,
loader: 'file-loader?name="[name]-[hash].[ext]"',
}
],
},
}
在 Safari 中不会发生,我还没有尝试过 Firefox。
在开发中,我通过 webpack-dev-server
提供文件,在生产中,它们被写入磁盘并复制到 S3;在这两种情况下,我在 Chrome 中得到了相同的行为。
这也发生在较大的图像上(大于图像加载器配置中的 10kB 限制)。
最佳答案
TL;DR 通过将 output.publicPath
设置为例如,使用 Assets 的绝对路径(包括完整的主机名) “http://example.com/assets/”。
问题在于 Chrome 从动态加载的 CSS blob 解析 URL 时的解析方式。
当您加载页面时,浏览器会加载您的 Webpack 包条目 JavaScript 文件,该文件(当您使用 style-loader
时)还包含 CSS 的 Base64 编码副本,它获取加载到页面中。
这对于作为数据 URI 编码到 CSS 中的所有图像或字体来说都很好(即文件的内容嵌入到 CSS 中),但对于 URL 引用的 Assets ,浏览器必须找到并获取文件。
现在默认情况下,file-loader
(url-loader
委托(delegate)给大文件)将使用相对 URL 来引用 Assets - 这就是问题所在!
These are the URLs generated by
file-loader
by default - relative URLs
当您使用相对 URL 时,Chrome 将相对于包含的 CSS 文件解析它们。通常这很好,但在这种情况下,包含文件位于 blob://...
并且任何相关 URL 都以相同的方式引用。最终结果是 Chrome 尝试从父 HTML 文件加载它们,并最终尝试将 HTML 文件解析为字体的内容,这显然是行不通的。
强制 file-loader
使用绝对路径,包括协议(protocol)(“http”或“https”)。
更改您的 webpack 配置以包含等同于以下内容的内容:
{
output: {
publicPath: "http://localhost:8080/", // Development Server
// publicPath: "http://example.com/", // Production Server
}
}
现在它生成的 URL 将如下所示:
这些 URL 将被 Chrome 和所有其他浏览器正确解析。
extract-text-webpack-plugin
值得注意的是,如果您将 CSS 提取到单独的文件中,则不会遇到此问题,因为您的 CSS 将位于正确的文件中并且 URL 将得到正确解析。
关于css - webpack "OTS parsing error"加载字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133808/
网络安全技术商Waterfall Security Solutions公司行业安全副总裁Andrew Ginter日前指出,运营技术(OT)网络目前面临着Apache Log4j(CVE-202
如何在 DITA OT 的 PDF 输出中添加主题的章节编号?我的意思是这样编号: 1. Heading Some content 1.2. Heading Some more c
让我们看下面的示例代码(修改为具有私有(private)字段): public class StupidNot{ private Object a,b; ... public boolean
PHPmailer 在我的本地主机上工作得很好,但是当我将它移动到生产环境时,我遇到了这种错误: Connection: opening to smtp.gmail.com:587, timeout=
谁能简单解释一下 Operational Transform 和 CRDT 之间的主要区别? 据我了解,这两种算法都允许数据在分布式系统的不同节点上无冲突地聚合。 您会在哪个用例中使用哪种算法?据我了
我正在尝试在我的 Vue 应用程序(使用 Vue cli webpack 模板创建)的某个组件中导入网络字体。在我的一个组件中,我尝试通过引用项目中包含以下内容的 _fonts.scss 来导入字体:
我想生成如下 JSON 数组。 完整详细的数组; MyArray = [{ prj : "P1", days : "8", ot : "2" }, { prj : "P2", days : "8",
所以我有一个 Java 程序,可以从不同的地方获取一些数据并写入 DITA 文件。我还想要一个已为其创建自定义 DITA-OT 插件的 PDF 文件。通常我会在程序执行后运行 Dita-OT,但如果我
有没有办法获取标记为翻译的 QString 的原始语言独立文本?这是我的代码的简化: QString MyClass::getError() { QString errorText = tr("
我有如下的div: 调整窗口大小时,div3 中的表格移动到 div1 的文本下方。我怎样才能使它在重新调整窗口时,表格保持在文本旁边并且它不会移动到文本下方也不会调整大小。
我正在使用 Bootstrap,并且在 .container 中有两种形式。为什么第二个 PayPal 表单显示在表单区域之外? HTML 作家的幽会 - 作家表格
我的 webpack 配置指定应使用 url-loader 加载字体,当我尝试使用 Chrome 查看页面时,出现以下错误: OTS parsing error: invalid version ta
我们有一个多线程应用程序,并通过 ant 与 DITA-OT 集成(从 java 调用)。我们开始面临多个并发 ant 调用 DITA-OT 来运行转换的问题,因此当两个或更多线程运行从 java 到
当您尝试下载字体 woff 格式时,我收到一个错误: OTS parsing error: incorrect file size in WOFF header 我究竟做错了什么 ? 最佳答案 如果您
我收到错误: Failed to decode downloaded font and OTS parsing error: invalid version tag 我的代码在我的 CSS 文件中:
输出显示全 0。 gross 和 OT 不计算.. #include #define STD_HOURS 40.0 #define OT_RATE 1.5 #define SIZE 5 void r
/Ot 标志(“支持快速代码”)和 /O2 标志(“最大速度”)有什么区别? (同上 /Os 和 /O1。) 最佳答案 /O1 和/O2 将多个选项捆绑在一起,以实现更大的目标。因此/O1 做出了许多
我正在使用 zend 分页器。我通过使用 $this->paginator 获得以下结构: ( [_cacheEnabled:protected] => 1 [_adapter:prot
我收到错误 'p2' 中的错误 C1007 无法识别的标志 '-Ot' 但无法在项目的命令行字符串中找到 -Ot。谷歌搜索没有帮助。有谁知道那面旗帜代表什么? 最佳答案 您应该在 中找到此标志优化 项
我有一个对象(从数据库中检索),具有多个属性: db_obj.default_attr= "textdefault" db_obj.additional = { "alpha": "text
我是一名优秀的程序员,十分优秀!