【发布时间】:2017-04-14 03:54:14
【问题描述】:
我正在尝试在 Cordova 应用程序中使用 Webpack 2 和 Font Awesome。 Cordova 应用程序生成如下文件结构:
app
config.xml
hooks
node_modules
package.json
platforms
plugins
webpack.config.js
www
(这自然包括我的 NPM 文件和 webpack 配置,用于上下文。app 是我存放原始 JSX 源代码的地方)。
www 下的结构(这是编译出来的 Web 应用程序应该去的地方),如下所示:
css
fonts
img
index.html
js
我创建了 fonts 目录作为 webpack 配置的目标。我遇到的问题是我可以将字体复制到根目录下的某个有用位置,也可以让过滤后的 CSS 正确,但不能同时使用两者。
例如,如果我使用如下示例:
{
test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
loader: "file-loader?name=[name].[ext]&outputPath=www/fonts/&publicPath=/fonts/"
}
文件被放在www 下,但编译后的源代码却很奇怪。
@font-face {
font-family: 'FontAwesome';
src: url(/fonts/www/fonts/fontawesome-webfont.eot);
src: url(/fonts/www/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'), url(/fonts/www/fonts/fontawesome-webfont.woff2) format('woff2'), url(/fonts/www/fonts/fontawesome-webfont.woff) format('woff'), url(/fonts/www/fonts/fontawesome-webfont.ttf) format('truetype'), url(/fonts/www/fonts/fontawesome-webfont.svg#fontawesomeregular) format('svg');
font-weight: normal;
font-style: normal;
}
在尝试将字体放置在www 下时,我还没有找到文件加载器的合适媒介。 How to configure font file output directory from font-awesome-webpack in webpack? 和 Can't load font-awesome with Webpack 中的建议确实没有让我得到任何帮助。
【问题讨论】:
标签: npm webpack font-awesome webpack-2