iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >在vue中如何引入外部的css文件
  • 348
分享到

在vue中如何引入外部的css文件

2024-04-02 19:04:59 348人浏览 独家记忆
摘要

目录Vue中引入外部CSS文件1. 全局引入2. 局部引入相对路径3. 局部引入绝对路径css-loader导致vue中样式失效的坑问题描述环境原因方案vue中引入外部css文件 在

vue中引入外部css文件

项目的src文件下,新建一个style文件夹,存放css文件。

1. 全局引入

将外部的css文件放到style文件下,引入外部文件只需在main.js文件中

import '@/style/reset.css'

我引入的是清除默认样式的css文件

2. 局部引入相对路径

<style scoped>
  @import '../../assets/iconfont/iconfont.css';这个分号一定要写,要不会报错
</style>

3. 局部引入绝对路径

<style scoped>
 @import '@/styles/scroll-bar.scss';这个分号一定要写,要不会报错
 
</style>

注意:

使用@import引入样式文件,就算加scoped,其它没有引入的模块还是可以访问到你的样式,如果某个组件的类名一致,则就会被污染到。

如果不想被污染,修改引入方式

<style src="@/style/reset.css"  scoped></style>

要是在写新的样式,要重新写一个新的style标签

<style src="@/style/reset.css"  scoped></style>
<style scoped>
  //新的css样式
</style>

我引入一个 download.scs 文件:

<style src="./download.scss" scoped>

像上边引入的时候报:

style-loader: Adds some css to the DOM by adding a \<style> tag

改成下边这样就好了,也不知道为什么?

<style src="./download.scss"  lang="scss" scoped>

css-loader导致vue中样式失效的坑

问题描述

vue文件中的样式失效

环境

  • vue-cli 4.4.6
  • css-loader 4.2.1
  • vue-style-loader 4.1.2

原因

vue-cli 4.4.6

  • vue-cli 4.4.6默认对css-loader配置为空

css-loader 4.2.1

  • css-loader4.0后默认对esModule设置的是true

vue-style-loader 4.1.2

  • vue-style-loader 4.1.2默认接收的是commonjs的结果,也就是默认接收的是“css-loader中esModule设置的是false的结果”,所以一个配置的是true,一个接收的是false,最终就不会显示样式了。

方案

1.在项目的vue.config.js中对css的esModule改成false

module.exports = {
    ...
    css: {
        ...
        esModule: false
    }
    ...
}

2.修改vue-style-loader的源码

vue-style-loader/index.js:
 var shared = [
    '// style-loader: Adds some css to the DOM by adding a <style> tag',
    '',
    '// load the styles',
    'var content = require(' + request + ').default;', //这里加一个.default即可
    ...

3.修改css-loader源码,让esModule默认为false

css-loader/dist/utils.js

function nORMalizeOptions(rawOptions, loaderContext) {
  if (rawOptions.icss) {
    loaderContext.emitWarning(new Error('The "icss" option is deprecated, use "modules.compileType: "icss"" instead'));
  }

  const modulesOptions = getModulesOptions(rawOptions, loaderContext);
  return {
    url: typeof rawOptions.url === 'undefined' ? true : rawOptions.url,
    import: typeof rawOptions.import === 'undefined' ? true : rawOptions.import,
    modules: modulesOptions,
    // TODO remove in the next major release
    icss: typeof rawOptions.icss === 'undefined' ? false : rawOptions.icss,
    sourceMap: typeof rawOptions.sourceMap === 'boolean' ? rawOptions.sourceMap : loaderContext.sourceMap,
    importLoaders: rawOptions.importLoaders,
    esModule: typeof rawOptions.esModule === 'undefined' ? false : rawOptions.esModule //默认改成false
  };
}

css-loader开发有点坑啊~ 之前版本都是false,更新后直接改成true,也是牛逼!!! 我TM一个中午的时间不睡觉就为了给你提issue了????

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 在vue中如何引入外部的css文件

本文链接: https://www.lsjlt.com/news/166408.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在vue中如何引入外部的css文件
    目录vue中引入外部css文件1. 全局引入2. 局部引入相对路径3. 局部引入绝对路径css-loader导致vue中样式失效的坑问题描述环境原因方案vue中引入外部css文件 在...
    99+
    2024-04-02
  • 在vue中如何引入外部less文件
    目录vue引入外部less文件vue引入lang=“less“报错的解决vue引入外部less文件 首先vue环境搭建成功 一、安装 less 和less-l...
    99+
    2024-04-02
  • css中如何进行引入外部文件
    这篇文章主要介绍了css中如何进行引入外部文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css的基本语法是什么css的基本语法是:1、css规则由选择器和一条或多条声明两...
    99+
    2023-06-14
  • 在html中如何引用外部css文件
    如何引用外部 css 文件?使用 <link> 标签,指定 rel="stylesheet" 和 href="css 文件路径" 属性。创建外部 css...
    99+
    2024-04-11
    css
  • html怎么引入外部css文件
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • css中如何引入外部字体
    这篇文章主要为大家展示了“css中如何引入外部字体”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css中如何引入外部字体”这篇文章吧。   &nbs...
    99+
    2024-04-02
  • 如何在html中引入css文件
    在 html 中引入 css 有两种方法:使用 <link> 标签链接外部样式表文件;使用 标签在 html 文档内定义 css 样式。 在 HTML 中引入 CSS 文...
    99+
    2024-04-11
    css
  • 如何实现外部引入css
    这篇文章将为大家详细讲解有关如何实现外部引入css,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。外部引入css的方法:1、使用link来调用外部的css文件,标签定义文档与外部资源的关系;2、使用@imp...
    99+
    2023-06-15
  • 在CI框架中如何引入外部CSS样式表?
    CI框架中如何使用外部CSS样式,需要具体代码示例 引言:CI(CodeIgniter) 是一个轻量级的PHP开发框架,被广泛用于构建Web应用程序。在开发Web应用程序时,外部CSS样式起着至关重要的作用,可以帮助我们美化页面...
    99+
    2024-01-16
    使用方法 CI框架 外部CSS
  • 如何引入外部css样式表
    今天就跟大家聊聊有关如何引入外部css样式表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 引入外部css样式表的方法:...
    99+
    2024-04-02
  • css如何引入外部样式表
    这篇文章将为大家详细讲解有关css如何引入外部样式表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 引入方法:1、使用link标签引入,语法“...
    99+
    2024-04-02
  • springboot如何引入外部yml配置文件
    目录springboot引入外部yml配置文件springboot引入多个yml1. 项目内部配置文件2. 外部配置加载顺序springboot引入外部yml配置文件 当需要在spr...
    99+
    2024-04-02
  • html中如何引入css文件
    在 html 文档中引入 css 文件有以下方法:使用 <link> 标签链接外部 css 文件。使用 标签内联 css 样式。在 html 元素中直接嵌入 css 样式。...
    99+
    2024-04-11
    css
  • vue组件中怎么引入css文件
    小编给大家分享一下vue组件中怎么引入css文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue是什么Vue是一套用于构建用户界面的渐进式JavaScript...
    99+
    2023-06-14
  • css文件如何引入
    小编给大家分享一下css文件如何引入,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!引入css文件的方法:1、行内式方法引入,在标记的style属性中设定CSS样式;2、嵌入式方法引入,将C...
    99+
    2024-04-02
  • asp.net中如何解决引入外部js文件的中文乱码问题
    这篇文章给大家分享的是有关asp.net中如何解决引入外部js文件的中文乱码问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在asp.net中时常需要调用js代码,如果js写在asp.net中,一般是不会出现乱...
    99+
    2023-06-03
  • vue如何引用外部JS并调用JS文件中的方法
    这篇“vue如何引用外部JS并调用JS文件中的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何引用外部JS并调用...
    99+
    2023-07-05
  • 如何在页面底部引入javascript文件
    这篇文章将为大家详细讲解有关如何在页面底部引入javascript文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在页面底部引入javascript文件要记住一个原则,就是让页面以最快的速度呈现在用户面...
    99+
    2023-06-27
  • eclipse如何导入外部文件
    在Eclipse中导入外部文件可以按照以下步骤操作:1. 打开Eclipse,点击菜单栏中的“File”(文件)选项。2. 在下拉菜...
    99+
    2023-09-15
    eclipse
  • vue如何引用外部JS
    这篇文章给大家分享的是有关vue如何引用外部JS的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。第一种 如果库是es6写的 就可以用import 引入比如我自己写的http 封装接...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作