码迷,mamicode.com
首页 > 其他好文 > 详细

vue 单独引用sass文件

时间:2020-07-09 23:56:56      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:使用   static   back   loader   变量   编译   save   function   syntax   

安装文件 sass-resources-loader:

npm install --save-dev sass-resources-loader

 修改build/utils.js:

全局文件引入 当然只想编译一个文件的话可以省去这个函数

function resolveResource(name) {  
  return path.resolve(__dirname, ../src/style/ + name);
}
function generateSassResourceLoader() {  
  var loaders = [
    cssLoader,  sass-loader,
    {      
      loader: sass-resources-loader,      
      options: { // 多个文件时用数组的形式传入,单个文件时可以直接使用 path.resolve(__dirname, ‘../static/style/common.scss‘
        resources: [resolveResource(theme.scss)]  
      }
    }
    ];   
 if (options.extract) {      
    return ExtractTextPlugin.extract({        
    use: loaders,        
    fallback: vue-style-loader
    })
  } else {      
    return [vue-style-loader].concat(loaders)
  }
}

 将默认的sass配置改为 generateSassResourceLoader()

return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders(less),
    // vue-cli默认sass配置
    // sass: generateLoaders(‘sass‘, { indentedSyntax: true }), 
    // scss: generateLoaders(‘sass‘),
    // 新引入的sass-resources-loader
    sass: generateSassResourceLoader(),
    scss: generateSassResourceLoader(),
    stylus: generateLoaders(stylus),
    styl: generateLoaders(stylus)
}

改完配置后重启服务就可以在theme.scss里定义全局变量并在页面中引用了。

需要注意的是,scss里的变量是$开头,而less里的变量是@开头。比如我想定义一个项目的主色调变量,我可以在theme.scss里这样定义:

$main-color: #fd7a00;

 

vue 单独引用sass文件

标签:使用   static   back   loader   变量   编译   save   function   syntax   

原文地址:https://www.cnblogs.com/cyj7/p/13273927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!