您的当前位置:首页正文

Vue2.x中利用@font-size引入字体图标报错的解决方法

2023-12-07 来源:站点网
导读Vue常见错误及解决方法:1.[Vue-warn]: Missing required prop: "to"(found in component ) 这个错误是少了个to或者是写错 ,正确写法为: 并且路由在做字符串拼接的时候,to要作为一个属性绑定 2.端口冲突错误:需要改端口,当然现在vue2.0中的webpack 已经自己会根据你的端口号进行改正,从8080往后面进 行递增,不会发生端口号冲突的情况,在vue1.0中会经常出现。 3.[Vue-w

利用 vue-cli 搭建的项目平台

利用stylus写的css样式

有 css-loader 依赖包x

下图是 webpack.base.conf.js 关于字体文件的配置

Vue2.x 引入字体图标

有人这里会有重复的字体文件的配置,删除一项即可

出现的问题:引入字体图标出现问题

1.报错

Vue2.x 引入字体图标

将字体引入的相对路径改成绝对路径

相对路径

Vue2.x 引入字体图标

绝对路径

Vue2.x 引入字体图标

2.不报错,但是出现的字体图标是小方框

有警告信息:

Vue2.x 引入字体图标

小方块:

Vue2.x 引入字体图标

报错是因为重定向的问题

出现上述问题的原因

①没在用到的地方引入字体的样式文件

②使用的是后缀名为 .styl 文件

③将font文件夹移动到static文件夹中,利用绝对路径访问,此时可以使用.styl文件

①的解决办法是在用到的地方引入字体的样式文件(全局引入的话需要从app.vue里引入)

@import '文件路径'

②的解决办法是把font.styl改为font.css(stylus预处理器的原因)

Vue2.x 引入字体图标

然后再需要用到的地方引入

@import '文件路径'

③把存放字体的font文件夹移动到和src平级的static文件夹中,之后在icon.styl文件中用绝对路径访问

Vue2.x 引入字体图标

以上这篇Vue2.x中利用@font-size引入字体图标报错的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

小编还为您整理了以下内容,可能对您也有帮助:

Vue常见错误及解决方法:

Vue常见错误及解决方法:

1.[Vue-warn]: Missing required prop: "to"(found in component )

这个错误是少了个to或者是写错 ,正确写法为:

并且路由在做字符串拼接的时候,to要作为一个属性绑定

2.端口冲突错误:需要改端口,当然现在vue2.0中的webpack 已经自己会根据你的端口号进行改正,从8080往后面进

行递增,不会发生端口号冲突的情况,在vue1.0中会经常出现。

3.[Vue-warn]:Unknown custom element: - did you register the component correctiy?

错误1:引进来的vue-router没有use()

import Vue from 'vue'

import VueRouter from 'vue-router'

Vue.use(VueRouter);

错误2:在生成路由实例之后,没有将路由挂到我们的Vue实例上面

const router=new VueRouter({

mode:'history',//切换路径模式,变成history模式,不然路径为/#/home

scrollBehavior:()=>({ // 滚动条滚动的行为,不加这个默认就会记忆原来滚动条的位置

y:0

}),

// 注意这里的名称

routes

});

new Vue({

/* 4.最后挂到vue上 */

router,

el: '#app',

render: h => h(App)

});

4.Uncaught TypeError: _vuex2.default.store is not a constructor

这个报错的是_vuex2.default.store 不是一个构造函数

因为在我们用vuex的时候需要将用到的actions,mutations模块最终导出,

在导出的时候new Vuex.Store中的Store小写了,这里的一定要大写,

就相当于我们在使用构造函数(类)的时候首字母要大写

import mutations from './mutations. js '

import actions from './actions. js '

export default new Vuex.Store({ //Vue.Stroe()首字母大写

moles:{ //这里注意mutations导出的是一个模块

mutations

},

actions

});

5.Moudel not found:Error:Can't resolve "style" in 'D:\vue-demo'

在vue1.0中,在webpack.config.js中配置css文件时

mole:{

loaders:[

{

test:/\.css$/,

loader:'style!css'

}

]

}

在vue2.0中,在webpack.config.js中配置css文件时,必须要写全,不能和vue1.0一样简写

mole:{

rules:[ //这里改成了rules

{

test:/\.css$/,

loader:'style-loader!css-loader' //这里必须要写全,不能和vue1.0一样简写

}

]

}

6.组件之间的通信从1.0过渡到2.0时引发的错误:

vue1.0实现父子组件的通信 -->通过props属性-->并且子组件可以更改父组件的数据 通过sync同步,

当在vue2.0里面不允许直接给父级数据做更改,并且把这个方法.sync去掉了,

当子组件再试图更改父组件的数据时,就会报错。

解决方法:

1.$emit()——单一事件管理

经常遇到的问题是找不到$emit()或$on(),这时需要单独准备一个文件Store.js

在文件里面需要:var oEvent =new Vue();

这个这个文件里的数据一定要导出去才可以使用:export default oEvent

2.对象之间的引用:(推荐使用)

vue1.0传数据:msg:'welcome' -->传给子级

vue2.0直接将数据定义成对象json的形式,这样传给子级的数据是对象的属性,即msg.title

这样子级修改父级的数据,修改的也是这个对象的一个属性msg.title

msg:{

title:'welcome'

}

msg.title

7.用vuex用来管理组件状态:(增加/减少,显示/隐藏)

8.axios目前不可以use,因为axios里面没有install这个方法

使用axios的时候,可以这样来使用:

1.将axios导入文件

import axios from 'axios'

2.将axios放入到Vue实例上面,这样在其他组件中,可以直接通过this.$https.get/post使用

在main.js中写:Vue.prototype.$http = axios

其他组件可以直接使用:

this.$http.get('data.txt').then((res)=>{

console.log(res.data);

}).catch((err)=>{

console.log(err);

});

9.element.ui表头点击事件

使用element.ui之后 @click="" 无法对表头等元素添加点击事件,正确的写法应该是@click.native=""

10.webpack2.0

插件的配置需要放到 plugins里面进行配置,不可放到rules里面进行配置

如何在Vue或React项目中使用自定义字体,以及字体打包

总结一下就是:用户借助该规则,可以为引入的字体包命一个名字,并指定在哪里可以找到它(指定字体包的存储路径)后,就可以像使用通用字体那样去使用它了。

例如现在的需求是:需要在项目中使用 KlavikaMedium-Italic 字体。

则只需以下三个步骤即可。

这里放到根目录下的 tool/fonts 文件夹里。

新建一个index.vue文件,引入样式:

效果如下:

既然在本地开发环境实现了效果,于是就使用 webpack 打包准备上线,却发现 webpack 在打包过程中报错:

我们在定义自定义字体时使用URL指定了字体包的路径,由于 webpack 默认是无法处理 css 中的 url 地址的,因此这里会报错。

这时就需要借助 loader 来大显身手了,解决这个问题需要使用 file-loader ,它主要干了两件事儿:

在 webpack.config.js 中,配置file-loader:

再次执行打包命令,不再报错。

于是将打包出来的 dist 目录重新部署到服务器上后访问页面,却发现由于找不到字体导致没有生效:

从图中可以看出,http请求字体包的路径为: 根目录下(打包出来的静态文件index.html所在目录)的 css/620db1b997cd78cd373003282ee4453f.otf

看了一下打包命令生成的 dist 目录结构:

却发现,字体包和 index.html 是在同一级。因此字体无法生效的原因就很明朗了:

可以通过修改字体包打包后的实际存储路径去解决这个问题,在 webpack.config.js 中,借助 options 参数可以继续给 file-loader 设置更多的配置项:

再次打包,生成的 dist 目录结构如下:

可以看到字体包正如配置时预期的那样存储在 **css/fonts **目录下面。

重新部署项目,再次查看:

这一次 http 请求的字体包路径与实际的存放路径一致,因此自定义字体生效。

可以通过下面这个梳理流程图看的更清楚一些:

为什么本地开发的时候可以看到字体,部署到服务器后却看不到了呢?

如何在Vue或React项目中使用自定义字体,以及字体打包

总结一下就是:用户借助该规则,可以为引入的字体包命一个名字,并指定在哪里可以找到它(指定字体包的存储路径)后,就可以像使用通用字体那样去使用它了。

例如现在的需求是:需要在项目中使用 KlavikaMedium-Italic 字体。

则只需以下三个步骤即可。

这里放到根目录下的 tool/fonts 文件夹里。

新建一个index.vue文件,引入样式:

效果如下:

既然在本地开发环境实现了效果,于是就使用 webpack 打包准备上线,却发现 webpack 在打包过程中报错:

我们在定义自定义字体时使用URL指定了字体包的路径,由于 webpack 默认是无法处理 css 中的 url 地址的,因此这里会报错。

这时就需要借助 loader 来大显身手了,解决这个问题需要使用 file-loader ,它主要干了两件事儿:

在 webpack.config.js 中,配置file-loader:

再次执行打包命令,不再报错。

于是将打包出来的 dist 目录重新部署到服务器上后访问页面,却发现由于找不到字体导致没有生效:

从图中可以看出,http请求字体包的路径为: 根目录下(打包出来的静态文件index.html所在目录)的 css/620db1b997cd78cd373003282ee4453f.otf

看了一下打包命令生成的 dist 目录结构:

却发现,字体包和 index.html 是在同一级。因此字体无法生效的原因就很明朗了:

可以通过修改字体包打包后的实际存储路径去解决这个问题,在 webpack.config.js 中,借助 options 参数可以继续给 file-loader 设置更多的配置项:

再次打包,生成的 dist 目录结构如下:

可以看到字体包正如配置时预期的那样存储在 **css/fonts **目录下面。

重新部署项目,再次查看:

这一次 http 请求的字体包路径与实际的存放路径一致,因此自定义字体生效。

可以通过下面这个梳理流程图看的更清楚一些:

为什么本地开发的时候可以看到字体,部署到服务器后却看不到了呢?

vue按需引入ant-design-vue报错解决方案

通过 vue-cli 创建的应用,安装了 ant-design-vue ,并通过 babel-plugin-import 进行按需引入。

错误如下:

安装完成后在vue页面中应用 Button 组件,启动项目报错如下:

运行 yarn add less less-loader -D 安装依赖后运行 yarn serve 报错如下,是由于 less-loader 版本过高导致的问题。

对 less-loader 进行降级处理:

在 vue.config.js 中进行如下配置:

完美解决:

vue按需引入ant-design-vue报错解决方案

通过 vue-cli 创建的应用,安装了 ant-design-vue ,并通过 babel-plugin-import 进行按需引入。

错误如下:

安装完成后在vue页面中应用 Button 组件,启动项目报错如下:

运行 yarn add less less-loader -D 安装依赖后运行 yarn serve 报错如下,是由于 less-loader 版本过高导致的问题。

对 less-loader 进行降级处理:

在 vue.config.js 中进行如下配置:

完美解决:

vue打包后报错TypeError: Cannot read property ‘call’ of undefined解决方法 - 2021-09-18

在webpack构建打包vue项目后,上传到服务器页面报错提示 TypeError: Cannot read property 'call' of undefined

一般大多数出现这类问题都是在vue多页应用、vue路由页面等打包后出现报错,当然了如果你是其它情况引起的一样可以尝试我下面给出的解决方案

引起这个原因的问题是 extract-text-webpack-plugin 配置问题,比如出问题是这样配置的:

那么我们改成这样,主要是加了allChunks参数

vue怎么引入bootstrap的字体图标

发现不能显示之后我使用了goole cdn上的地址引入bootstrap文件,发现可以正常显示。所以问题应该出现在引入文件这里。

ctrl+左键进入glyphyicon,发现实现的代码是这样的:

@font-face {

font-family: 'Glyphicons Halflings';

src: url('../fonts/glyphicons-halflings-regular.eot');

src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');

}

.glyphicon {

position: relative;

top: 1px;

display: inline-block;

font-family: 'Glyphicons Halflings';

font-style: normal;

font-weight: normal;

line-height: 1;

-webkit-font-smoothing: antialiased;

-moz-osx-font-smoothing: grayscale;

}

在idea中就会发现@font-face这部分报红,提示can not resolve file glyphicons-halflings-regular.eot和glyphicons-halflings-regular.eot,意思是找不到文件。

所以glyphyicon这个样式,是关联着这些文件的,进入到下载的整个的压缩包,进入这个文件bootstrap-3.3.7-dist\fonts,就会发现如下文件:

,所以glyphyicon这个样式,必须要关联到glyphicons-halflings-regular.eot等文件才能正常使用。

站点网还为您提供以下相关内容希望对您有帮助:

Vue常见错误及解决方法:

vue1.0实现父子组件的通信 -->通过props属性-->并且子组件可以更改父组件的数据 通过sync同步,当在vue2.0里面不允许直接给父级数据做更改,并且把这个方法.sync去掉了,当子组件再试图更改父组件的数据时,就会报错。解决...

如何在Vue或React项目中使用自定义字体,以及字体打包

可以通过修改字体包打包后的实际存储路径去解决这个问题,在 webpack.config.js 中,借助 options 参数可以继续给 file-loader 设置更多的配置项:再次打包,生成的 dist 目录结构如下:可以看到字体包正如配置时预期的那样存储...

详解mpvue小程序中怎么引入iconfont字体图标

在“我的项目”中,点击查看在线链接,:将iconfont.css的@font-face部分换成之前复制的带有alicdn的代码。引入cssApp.vue style开头引入:@import '../static/iconfont.css' // 若css在static中,要加..,不然会报错使...

vue中使用utils中的方法报错处理

template标签中的元素使用了utils中的方法报错解决办法

ImportError: DLL load failed:找不到指定的模块怎么解决

ImportError:DLLloadfailed:找不到指定的模块的解决方法是把numpy、scipy、matplotlib、scikit-learn用pipuninstall掉,再去下载最新的whl包重新安装。具体方案是:第一步:在命令中输入以下指令卸载相应的包:pipuninstallnumpy;...

vue按需引入ant-design-vue报错解决方案

通过 vue-cli 创建的应用,安装了 ant-design-vue ,并通过 babel-plugin-import 进行按需引入。错误如下:安装完成后在vue页面中应用 Button 组件,启动项目报错如下:运行 yarn add less less-loader -D 安装依赖后运行 ...

bootstrap的字体图标怎么引入?

bootstrap引用图标的方法:1、下载包并解压 在‘elegant_font’文件夹中会发现“HTML CSS”子文件夹,把它复制到你的项目中(注意,这里可以重命名哦)2、将连接添加到‘style.css’,html里添加一个图标,内容如下:<...

hbuilder利用font—face引入字体

hbuilder利用font—face引入字体步骤如下:1、添加font-face,设置另一种字体,然后在界面中使用。2、使用ID选择器font,设置标签样式,如宽度、高度、字体属性、背景色等。3、保存代码并刷新浏览器,可以看到文字发生改变,并...

CSS网页下拉列表大小怎么调整

1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的<style>标签中,输入css代码:select { width: 210px;}。3、浏览器运行index.html页面,此时网页下拉列表的大小被调整为了210px。

如何解决vue打包后静态资源图片失效的问题

2、解决方法之一静态资源static存放位置放在src目录下 你可能会问为什么放在src目录下?放在跟src同级目录下不可以吗?好吧,一开始我也是放在src同级目录下,但是在某个css文件中引入背景图片的时候打包之后图片失效,我是这样...

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

精彩推荐

更多阅读

Top