关于 vue 动态引入 css 文件的一点小魔法

3,530 阅读1分钟

今天笔者正在开心的🦑,然后领导突然叫到了名字(死亡视角),这不得赶紧过去。战战兢兢的来到领导旁边,原来是问项目的迁移问题。这时就提到了样式的风格一致化,需要动态的引入css样式文件。

我们常用的css引入方式一般是以下这种:

<style lang="scss">
@import './style/basic';
</style> 

最开始我就想着在style内加判断,虽然style可以使用变量也可以使用@if加判断。但是要把判断加在@import前,/(ㄒoㄒ)/~~ 我莫有实现

既然这种方式走不通,那就换一种方式。其实在 js 文件种也可以引入样式。然后。。。

image.png 不出意外报错了。经过一顿搜索尝试,发现 import 后加上 then 就可以解决这个问题。以下是代码:

let state = true;
if (state) {
    import('./style/basic').then(() => {
    });
}

如果想在页面种动态引入css,只需将代码写在<script>标签内即可。