vue如何引入sass全局变量


Posted in Javascript onJune 28, 2018

sass或者less都提供变量设置,在需求切换主题的项目中使用less或者sass变量,只要修改变量值,编译后所有用到该变量的样式都会被修改为你想要的效果,但是在vue-cli搭建的项目中,在main.js中全局引入一个scss文件,在其中定义变量在其他组件或者页面中引用报变量未定义错误,其他的样式可以正常显示,显然是编译的问题。

傻瓜式引用

在每个用到全局变量的组件都引入该全局样式文件

@import 'path/fileName.scss'

但是组件或者页面不在统一层目录下,引入的路径可能也会有差异,所以还是看看 sass-resources-loader 的解决方法吧。

sass-resources-loader引入sass全局变量

sass-resources-loader可以访问sass资源任何一个需要访问的sass模块。所以,可以使用共享变量和混合所有SASS样式,而不去每个文件都引用。

安装sass-resources-loader

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

修改sass配置

build 文件夹下找到 util.js 修改sass编译器loader的配置

// 全局文件引入 当然只想编译一个文件的话可以省去这个函数
function resolveResource(name) {
 return path.resolve(__dirname, '../static/style/' + name);
}
function generateSassResourceLoader() {
 var loaders = [
  cssLoader,
  'sass-loader',
  {
   loader: 'sass-resources-loader',
   options: {
    // 多个文件时用数组的形式传入,单个文件时可以直接使用 path.resolve(__dirname, '../static/style/common.scss'
    resources: [resolveResource('common.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')
 }

main.js 中引用 common.scss 文件,重启服务,其中定义的变量在其他组件就可以使用了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery操作checkbox实现全选和取消全选
May 02 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
Apr 07 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
Nov 25 Javascript
js实现tab切换效果
Feb 16 Javascript
JavaScript异步上传图片文件的实例代码
Jul 04 Javascript
js微信分享实现代码
Oct 11 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 Javascript
小程序实现带年月选取效果的日历
Jun 27 #Javascript
浅谈Angular6的服务和依赖注入
Jun 27 #Javascript
JS实现获取进今年第几天是周几的方法分析
Jun 27 #Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 #Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 #Javascript
浅谈Webpack下多环境配置的思路
Jun 27 #Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
Jun 27 #Javascript
You might like
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
PHP链表操作简单示例
2016/10/15 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
js实现数组转换成json
2015/06/26 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
python使用KNN算法手写体识别
2018/02/01 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
python中upper是做什么用的
2020/07/20 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
特色冷饮店创业计划书
2014/01/28 职场文书
厂长岗位职责
2014/02/19 职场文书
合伙协议书范本
2014/04/21 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
2015年银行个人工作总结
2015/05/14 职场文书