首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从<style>内部使用SCSS @extend与全局scss导入

从<style>内部使用SCSS @extend与全局scss导入
EN

Stack Overflow用户
提问于 2020-08-25 15:37:33
回答 1查看 779关注 0票数 0

使用vue-cli,我用BootstrapBootstrap-vue创建了一个项目。

我创建了一个vue.config.js,并且正在使用prependData加载我的theme.scss文件,如下所示:

代码语言:javascript
复制
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `@import "./scss/theme.scss";`
      }
    }
  }
};

我的theme.scss:

代码语言:javascript
复制
@import '~bootstrap/scss/bootstrap-reboot.scss';

$theme-colors: (
  primary: #2D3047,
  success: #0FBD72,
  danger: #AE2029,
  light: #F6F5F3,
  dark: #23201B,
);

@import '~bootstrap/scss/bootstrap.scss';
@import '~bootstrap-vue/src/index.scss';

这使我可以按预期从vue组件使用<style lang="scss">时访问变量、函数和混合器。

但是,如果我尝试使用例如:

代码语言:javascript
复制
#foo {
  @extend .pt-5;
  color: var(--light)
}

如果不首先将@import "bootstrap";放在<style>标记的顶部,vue将抛出一个错误,说明它不能扩展.pt-5,因为类不存在。

因此,我的问题是:使用上述用于scss的全局导入,如何在组件<style>标记中使用<style>指令而不需要在每个组件的<style>标记中重新导入引导程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 05:20:10

我觉得一切都很好。如果您确定路径./scss/theme.scss";,在vue.config.js文件中,我只能想到另外两件事,它们可以阻止您使用@extend,而无需导入style标记之上的scss文件。

theme.scss.中未导入

  • -- pt-5实用程序类所在的文件

在对vue.config.js.进行更改后,没有停止服务器并重新启动服务器

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63582373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档