当我们使用Vue构建项目,部署到服务器上后,我们可能会发现部分CSS样式不生效,这是因为CSS文件没有被正确加载导致的。下面给出两个解决方法:
方法一:配置vue.config.js文件
在项目根目录下添加vue.config.js文件。如果该文件不存,则需要手动创建。
在vue.config.js文件中添加以下代码:
module.exports = {
// 部署应用包时的基本 URL
publicPath: '.',
// 开发服务器配置
devServer: {
// 自动打开浏览器
open: true
}
}
在publicPath中设置为 '.' ,指定通过相对路径引用文件,而不是绝对路径。这样做的好处是可以根据不同的部署环境来设置不同的publicPath。devServer的配置可以自行选择添加。
方法二:使用 /deep/ 或者 ::v-deep 选择器
在样式表中,可以添加 /deep/ 或者 ::v-deep 选择器来使样式生效。这两个选择器都能够绕过组件作用域限制。例如:
<style scoped>
.test /deep/ .child {
color: red;
}
</style>
<template>
<div class="test">
<div class="child">
这里的文字是红色的
</div>
</div>
</template>
或者使用::v-deep
<style>
.parent::v-deep .child {
color: red;
}
</style>
<template>
<div class="parent">
<div class="child">
这里的文字是红色的
</div>
</div>
</template>
使用这种方式需要注意,要在选择器中添加上所在组件的名称,否则功能会受到影响。
总之,以上方法都能够解决Vue打包上线后部分CSS不生效的问题。在使用时,可以根据实际情况进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决Vue打包上线之后部分CSS不生效的问题 - Python技术站