记录一个简单的全局引入scss(函数、变量、混合器)文件的问题

当我们直接在入口文件中引入资源文件发现,在其他scss文件中无法直接使用,还需要单独去引入一次;

为什么需要这样配置而不能在入口文件中直接引入呢?

这是因为 SCSS 的变量、函数或者混合器等内容是在编译阶段被解析的,而不是在运行时。因此,如果你想要在样式文件中使用这些内容,就需要在编译阶段将这些内容注入到每个样式文件中。
而在入口文件中引入 SCSS 文件只是将这些样式文件导入到项目中,而并不会在编译阶段将 SCSS 文件中的内容注入到每个样式文件中。
因此,如果你想要在每个样式文件中直接使用 SCSS 文件中定义的变量、函数或者混合器,就需要通过 Vite 配置项 或者webpack配置项来实现。
vite
css: {
      //全局配置utils.scss
      preprocessorOptions: {
        scss: {
          additionalData: `@import "@/assets/style/centn/modules/util.scss";`,
        },
      },
    }
webpack
{
      test: /\.(css|scss|sass)$/,
      use: [
        !prodMode
          ? 'style-loader'
          : {
              loader: MiniCssExtractPlugin.loader,
              options: {
                publicPath: '../'
              }
            },
        'css-loader',
        'postcss-loader',
        'sass-loader',
        {
          loader: 'sass-resources-loader',
          options: {
            resources: [
              'src/style/var.scss' 
            ]
          }
        }
      ]
    }
或者像vue-cli中
css: {
      loaderOptions: {
        scss: {
            prependData: `@import "@/style/var.scss";`
        },
      }
    }

这意味着,你在 此配置项中引入的 SCSS 文件中定义的变量、函数或者混合器等内容都可以在项目中的任何样式文件中直接使用,而无需在每个样式文件中单独引入。

相关推荐

  1. vue html里面使用全局引入scss变量

    2024-04-13 18:52:03       15 阅读
  2. vue3中集成sass实现全局scss样式变量

    2024-04-13 18:52:03       34 阅读
  3. Vue项目自动注入less、sassscss、stylus全局变量

    2024-04-13 18:52:03       11 阅读
  4. Sass简单总结

    2024-04-13 18:52:03       9 阅读
  5. 变量函数提升(js问题

    2024-04-13 18:52:03       42 阅读
  6. 变量函数提升(js问题

    2024-04-13 18:52:03       14 阅读
  7. SCSSSass区别?

    2024-04-13 18:52:03       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 18:52:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 18:52:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 18:52:03       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 18:52:03       20 阅读

热门阅读

  1. 04-springmvc-RequestContextHolder

    2024-04-13 18:52:03       19 阅读
  2. 数据仓库理论与实战

    2024-04-13 18:52:03       18 阅读
  3. 个人博客项目_09

    2024-04-13 18:52:03       19 阅读
  4. FNP preptool has not been run on this executable

    2024-04-13 18:52:03       16 阅读
  5. C#入门理解设计模式的6大原则

    2024-04-13 18:52:03       15 阅读
  6. Redux状态管理原理与Redux Toolkit使用教程

    2024-04-13 18:52:03       19 阅读
  7. docker ruoyi 部署

    2024-04-13 18:52:03       17 阅读
  8. 如何用composer来安装和配置LAMP环境?

    2024-04-13 18:52:03       16 阅读
  9. NSG4427 /IR4427 双通道 2A 超高速功率开关驱动器

    2024-04-13 18:52:03       14 阅读
  10. Spring AOP IOC

    2024-04-13 18:52:03       15 阅读