【问题标题】:How to load a _variables.scss file for all Vue components using sass-resource-loader on Vue CLI 3.04?如何在 Vue CLI 3.04 上使用 sass-resource-loader 为所有 Vue 组件加载 _variables.scss 文件?
【发布时间】:2019-03-08 20:19:02
【问题描述】:

我有一个使用 Vue CLI 3.0.4 的全新 VueJs 项目脚手架 我想在所有组件中使用 SCSS 变量,而不必在所有组件中导入 _variables.scss。 我想导入_variables.scss,我发现可以使用 sass-resource-loader 来完成。 我查看了这里的所有答案,所有答案都已过时,因为它们不适用于 vue-loader 15。

所以在vue.config.js 里面我有以下内容:

var path = require('path');
module.exports = {
  chainWebpack: (config) => {
    config.module
      .rule('sass')
      .use('sass-resources-loader')
      .loader('sass-resources-loader')
      .options({
        resources: [
          path.resolve('./src/scss/config/_variables.scss'),
        ]
      })
  }
}

当我运行它时,我收到以下错误:

Module build failed (from ./node_modules/sass-loader/lib/loader.js):

undefined
        ^
      Undefined variable: "$brand-color".
      in C:\dev\git\vue-typescript-test\src\components\HelloWorld.vue (line 60, column 10)

$brand-color 变量在 Helloworld.vue 组件中使用,因此它不会添加变量。

我似乎无法理解为什么它不起作用,因为我完全按照 Vue CLI 中的文档进行操作。

我还想指出,我在这里遵循了选择的答案:Vue CLI 3 sass-resources-loader - Options.loaders undefined

非常感谢任何帮助。

谢谢!

【问题讨论】:

    标签: javascript vue.js webpack sass vuejs2


    【解决方案1】:

    它应该使用以下代码 sn-p 工作。

    module.exports = {
      css: {
        loaderOptions: {
          sass: {
            data: `@import "@/scss/config/_variables.scss";`
          }
        }
      }
    };
    

    注意@是访问src文件夹的快捷方式。


    别忘了安装node-sasssass-loader

    npm install --save-dev node-sass sass-loader
    


    最后,将lang 属性添加到您的style 标记中。

    <style lang="scss">
    
    // some style...
    
    </style>
    

    【讨论】:

    猜你喜欢
    • 2020-06-10
    • 2020-09-17
    • 2019-03-18
    • 2020-07-17
    • 2018-03-11
    • 2018-04-07
    • 2017-12-16
    • 2016-05-20
    • 2017-10-25
    相关资源
    最近更新 更多