欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue vuecli3.0 使用 scss-loader,设置全局scss变量

程序员文章站 2022-04-24 10:16:59
...

首先上代码,使用loaderOptions

const outputDir = process.env.NODE_ENV == "development" ? "dist-test" : "dist";
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `@import "@/scss/default.scss";`
      }
    }
  },
  configureWebpack: {
    externals: {
      // vue: "Vue"
      // "vue-router": "VueRouter",
      // "element-ui": "ELEMENT"
    }
  },
  outputDir
};

这样,就可以在default.scss中定义全局的scss变量
比如
vue vuecli3.0 使用 scss-loader,设置全局scss变量
在其他的vue文件中就可以直接使用全局的scss变量
vue vuecli3.0 使用 scss-loader,设置全局scss变量
现在遇到一个问题,就是在default.scss中,想使用 css3 的@font-face,需要使用src属性,用来引用自定义字体的文职,比如字体包放在assets中的fonts的文件夹内
一般都是这么写的
vue vuecli3.0 使用 scss-loader,设置全局scss变量
可是,这个时候浏览器报错了
vue vuecli3.0 使用 scss-loader,设置全局scss变量
后来仔细查看路径,我这么做是没有错的。vue vuecli3.0 使用 scss-loader,设置全局scss变量
后来无意间试了试

@font-face {
  font-family: myYJFont;
  src: url(/assets/fonts/yjsz.ttf);
}

竟然可以了,浏览器不报错了