开发过程找不到css源文件?试试配置vite的css源文件映射

简介: 【8月更文挑战第3天】开发过程找不到css源文件?试试配置vite的css源文件映射

如果我们采用诸如webpack或vite的构建工具开发项目,一定对sourcemap这个单词比较熟悉。sourcemap

源代码映射,开启后,即使在开发环境也可以映射出源代码的位置。

在vite项目中,css也有与之类似的属性devSourcemap

devSourcemap

vite对css内容的特殊处理

官网对devSourcemap的解释非常简单:

配置名

属性值

释义

devSourcemap

boolean|默认false

在开发过程中是否启用 sourcemap。

我们通过几个简单示例来看看这个属性值的含义。

我们在一个基于vite的vue项目中,随便写一点简单样式,不做任何配置

// app.vue
<template>
  <div class="wrap">这是一个vue3的demo,基于vite构建</div>
</template>
<style scoped lang="less">
.wrap{
  background: burlywood;
  border-radius: 5px;
  width: 400px;
  height: 80px;
  color: #fff;
  font-size: 24px;
  line-height: 80px;
}
</style>

我们打开浏览器,定位一下元素的样式

通过上图,我们可以看出,viteapp.vue的内样式内容进行了处理,以style标签的形式全局注入到了html里。因此,我们通过浏览器定位div元素的.wrap样式时,指向的是head标签内的style标签。

然而,开发过程中,我们更希望能通过类名直接定位到是哪个文件内的样式,这样更利于我们调试。

这时,devSourcemap属性就派上用场了。

devSourcemap的用途

我们在vite.congfig.js内配置devSourcemaptrue

注:devSourcemap是css配置项的一个属性

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  css: {
    // 预处理器配置项
    // preprocessorOptions: {// ..... },
    devSourcemap:true
  },
});

然后,我们在打开浏览器定位下这个样式内容看看

很明显,这次我们直接定位到了App.vue的源码中,非常舒服,开发必备啊!

Vite中如何devSourcemap

首先,我们要明确的一点是,这个配置在生产环境(代码打包后)是无效的。

我们配置此项,将代码进行部署,然后定位样式文件看看

可以发现,在生产模式,所有样式被放到了index[哈希值].css的文件内。因此,这个配置在生产模式是无效的。

那么,我们在vite中配置时,默认将其开启就行,反正生产模式也是不生效的。

当然,如果你想更专业一波,可以这么配置

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
// https://vitejs.dev/config/
export default defineConfig(({ command, mode, ssrBuild }) =>{
  plugins: [vue()],
  css: {
    // 开发模式为true,生产模式为flase
    devSourcemap:command === 'serve'
  },
});

可能有些同学觉得这里的配置方法比较奇怪,没关系,参考这篇文章:

https://juejin.cn/post/7172009616967942175

相关文章
|
27天前
|
前端开发
在Webpack配置文件中,如何配置loader以处理其他类型的文件,如CSS或图片
在Webpack配置文件中,通过设置`module.rules`来配置loader处理不同类型的文件。例如,使用`css-loader`和`style-loader`处理CSS文件,使用`file-loader`或`url-loader`处理图片等资源文件。配置示例:在`rules`数组中添加对应规则,指定`test`匹配文件类型,`use`指定使用的loader。
|
24天前
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
40 4
|
2月前
|
前端开发 UED
Webpack 中处理 CSS 和图片资源的多 Loader 配置
【10月更文挑战第12天】 处理 CSS 和图片资源是 Webpack 配置中的重要部分。通过合理选择和配置多个 Loader,可以实现对这些资源的精细处理和优化,提升项目的性能和用户体验。在实际应用中,需要不断探索和实践,根据项目的具体情况进行灵活调整和优化,以达到最佳的处理效果。通过对 Webpack 中多 Loader 处理 CSS 和图片资源的深入了解和掌握,你将能够更好地应对各种复杂的资源处理需求,为项目的成功构建和运行提供坚实的基础。
84 1
|
4月前
|
JSON 前端开发 JavaScript
vite中静态资源(css、img、svg等)的加载机制及其相关配置
【8月更文挑战第3天】vite中静态资源(css、img、svg等)的加载机制及其相关配置
501 1
|
4月前
|
前端开发 JavaScript
vite中css最佳实践:使用postcss完善项目中的css配置
【8月更文挑战第3天】使用postcss完善项目中的css配置
1063 1
|
4月前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
|
5月前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
|
5月前
|
开发框架 前端开发 JavaScript
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
|
6月前
|
前端开发 文件存储 Python
【已解决】Flask当中render_template函数使用过程当中css文件无法正常渲染
【已解决】Flask当中render_template函数使用过程当中css文件无法正常渲染
|
6月前
|
缓存 移动开发 前端开发
在PWA的开发中,HTML与CSS作为前端技术的基础,发挥着至关重要的作用
【6月更文挑战第14天】PWA(渐进式网页应用)借助HTML和CSS,提供接近原生应用的体验。HTML构建页面结构和内容,响应式设计适应各种设备,语义化标签提升可访问性,Manifest文件配置应用元数据,离线页面保证无网时体验。CSS则用于定制主题样式,创建动画效果,实现响应式布局,并管理字体和图标。两者协同工作,确保PWA在不同环境下的优秀性能和用户体验。随着前端技术进步,HTML与CSS在PWA中的应用将更加深入。
55 2