【发布时间】:2016-05-13 17:40:03
【问题描述】:
我正在开发一个基于 React.js 的 chrome 扩展,其中所有资产都与 webpack 捆绑在一起。在开发过程中(使用webpack-dev-server),我成功地让Chrome 从localhost:3000 加载.woff 文件。这是我的开发 webpack 配置的加载器的一部分:
{
test: /\.css$/,
include: /node_modules/,
loaders: ['style-loader', 'css-loader'],
},
{
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'url-loader?limit=10000&mimetype=application/font-woff'
},
{
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'file-loader'
}
用于开发的 chrome 扩展具有以下权限(除其他外):
font-src 'self' http://localhost:3000 https://localhost:3000;
这很好用,我可以像这样使用react-fa 来使用 font-awesome:
<Icon name="eye" size="2x" />
但是,一旦我停止使用 webpack-dev-server,并构建到要作为 Google chrome 扩展导入的实际包(使用相同的加载器),我开始看到以下内容我的控制台中的错误:
GET chrome-extension://jboakcijpodokbkfeooiffmbbmlfobnl/926c93d201fe51c8f351e858468980c3.woff2 net::ERR_FILE_NOT_FOUND
?brudy:1
GET chrome-extension://jboakcijpodokbkfeooiffmbbmlfobnl/891e3f340c1126b4c7c142e5f6e86816.woff net::ERR_FILE_NOT_FOUND
?brudy:1
GET chrome-extension://jboakcijpodokbkfeooiffmbbmlfobnl/fb650aaf10736ffb9c4173079616bf01.ttf net::ERR_FILE_NOT_FOUND
我相信我的 chrome 扩展程序的清单权限设置正确:
font-src 'self';
但由于某种原因,.woff2 文件似乎不在捆绑包中,至少不在该地址。我检查了 bundle/build 文件夹并在 /build/js/926c93d201fe51c8f351e858468980c3.woff2 找到了该文件。
我如何确保在地址chrome-extension://jboakcijpodokbkfeooiffmbbmlfobnl/926c93d201fe51c8f351e858468980c3.woff2 上确实可以访问该文件?
【问题讨论】:
-
如果您希望其他网页可以访问它,您可能需要将您的字体路径添加到
web_accessible_resources。不太清楚你的问题很抱歉。 -
你解决了吗?
-
@Tom 你找到解决方案了吗?
标签: reactjs google-chrome-extension webpack font-awesome woff