webpack之file-loader加载字体、图片路径问题(八)
2018-03-30 13:42
633 查看
问题描述:通过webpack构建之后,发现生成的字体目录与css中引用的字体路径不一致,而默认情况下,css中url的路径是由publicPath和outputPath两者拼接而成的。
一、为了便于理解问题,下面放上构建后的文件目录(字体引用路径存在问题):
二、修改file-loader的配置
这里需要注意:
[path]是指相对于src的字体输出路径,比如src/fonts/ xxx.ttf,输出在dist/fonts/xxx.ttf。
css中url中的字体路径是由webpack_public_path + 输出路径确定的,前者即为webpack配置文件中output.publicPath的值。
上面配置中publicPath中的url就是webpack_public_path + 输出路径的值,然后再求出对输出根目录的相对路径。
三、修改后的结果
一、为了便于理解问题,下面放上构建后的文件目录(字体引用路径存在问题):
二、修改file-loader的配置
{ test: /\.(woff|woff2|eot|ttf|otf)$/, use: [{ loader:'file-loader', options: { name: '[path][name].[ext]',//path为相对于context的路径 context:'src', publicPath:function(url){//返回最终的资源相对路径 return path.relative(distDir,url).replace(/\\/g,'/'); } } }] }
这里需要注意:
[path]是指相对于src的字体输出路径,比如src/fonts/ xxx.ttf,输出在dist/fonts/xxx.ttf。
css中url中的字体路径是由webpack_public_path + 输出路径确定的,前者即为webpack配置文件中output.publicPath的值。
上面配置中publicPath中的url就是webpack_public_path + 输出路径的值,然后再求出对输出根目录的相对路径。
三、修改后的结果
相关文章推荐
- webpack file-loader 解析 css 文件中 background-image路径问题。
- [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法
- webpack打包过程中因为图片的路径导致的问题
- vue-cil和webpack中本地静态图片的路径问题解决方案
- angular2.0 webpack css url 图片路径问题
- 浅谈webpack打包过程中因为图片的路径导致的问题
- 解决vue-cli webpack打包后加载资源的路径问题
- WebView 加载H5 <Input type="file"/>标签上传图片问题
- 关于webpack打包图片的路径问题
- webpack配置:图片处理、css分离和路径问题
- [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法
- 浅谈用Webpack路径压缩图片上传尺寸获取的问题
- webpack生成的css文件中background:url()图片路径问题
- 详解vue-cil和webpack中本地静态图片的路径问题解决方案
- 关于用Webpack路径压缩图片上传尺寸获取的问题
- webpack之css sass file url图片加载
- webpack使用css-loader?sourceMap导致font(eot、ttf)等无法加载问题
- 详解webpack之图片引入-增强的file-loader:url-loader
- vue-cil和webpack中本地静态图片的路径问题解决方案