热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Webpack和Bootstrap4中包含自定义字体类型不起作用

我刚刚开始使用webpack,并且想捆绑bootstrap4并为其添加自定义字体。不幸

我刚刚开始使用webpack,并且想捆绑bootstrap 4并为其添加自定义字体。

不幸的是,我的字体堆栈总是退回到Segoe UI(我在Windows上)。我不知道我在做什么错。 Webpack似乎包含该字体,但是浏览器无法正确呈现它。

Webpack输出

C:\Temp\bs-webpack> npm run build
// ...
Entrypoint main [big] = bundle.js
[0] ./src/app.js 144 bytes {0} [built]
[4] (webpack)/buildin/global.js 472 bytes {0} [built]
[5] ./src/scss/_custom.scss 512 bytes {0} [built]
[6] ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/src??ref--4-2!./node_modules/sass-loader/dist/cjs.js!./src/scss/_custom.scss 158 KiB {0} [built]
[9] ./src/fonts/SourceSansPro-Regular.ttf 82 bytes {0} [built]
+ 5 hidden modules
// ..

dist / index.html

// ...

Header1

<-- Just a test

Lorem ipsum dolor

<-- rendered as Segoe UI
Lorem ipsum dolor
<-- rendered as consolas



package.json

{
"name": "bs-webpack","version": "1.0.0","description": "","private": true,"scripts": {
"test": "echo \"Error: no test specified\" && exit 1","build": "webpack"
},"keywords": [],"author": "","license": "ISC","devDependencies": {
"autoprefixer": "^9.7.2","css-loader": "^3.2.0","file-loader": "^4.3.0","node-sass": "^4.13.0","postcss-loader": "^3.0.0","sass-loader": "^8.0.0","style-loader": "^1.0.0","webpack": "^4.41.2","webpack-cli": "^3.3.10"
},"dependencies": {
"bootstrap": "^4.3.1","jquery": "^3.4.1","popper.js": "^1.16.0"
}
}

app.js

import 'bootstrap';
import './scss/_custom.scss';
import './fonts/SourceSansPro-Regular.ttf';

scss / _custom.scss

$font-family-sans-serif: "Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" !default;
$font-family-monospace: "Source Code Pro",SFMono-Regular,Menlo,Monaco,consolas,"Liberation Mono","Courier New",monospace !default;
$font-family-base: $font-family-sans-serif !default;
$body-bg: white;
$body-color: #111;
$theme-colors: (
"primary": #0074d9,"danger": #ff4136,"custom-color": #900 // just a test to see if I can access the bootstrap classes
);
@import "../../node_modules/bootstrap/scss/bootstrap";

webpack.config.js

const path = require('path');
module.exports = {
entry: './src/app.js',output: {
filename: 'bundle.js',path: path.resolve(__dirname,'dist')
},module: {
rules: [
{
test: /\.(scss)$/,use: [
{ loader: 'style-loader' },{ loader: 'css-loader' },{ loader: 'postcss-loader',options: { plugins: function () { return [require('autoprefixer')]; } } },{ loader: 'sass-loader' }
]
},{
test: /\.(woff|woff2|eot|ttf|otf)$/,use: [
'file-loader'
]
}
]
}
}


在我的@font-face顶部放几个_custom.scss使其生效。另外,我还不得不在format(truetype)上使用format(ttf)

@font-face {
font-family: 'Source Sans Pro';
src: url('../fonts/SourceSansPro-Regular.ttf') format('truetype'),url('../fonts/SourceSansPro-SemiBold.ttf') format('truetype');
}
@font-face {
font-family: 'Source Code Pro';
src: url('../fonts/SourceCodePro-Regular.ttf') format('truetype');
}

推荐阅读
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • get()方法用于拦截某个属性的读取操作,如果没有该属性的时候会报一个undefined的,如果结果get处理会返回对应的错误信息varperson{name:张三 ... [详细]
author-avatar
儒雅的aaaaaaaaaaa
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有