详解nuxt sass全局变量(公共scss解决方案)


Posted in Javascript onJune 27, 2018

恩,经过朋友的帮助搞定的,因为 nuxt资料比较少的原因,很感谢  “包子”的帮助

注意  本案例  只是把你通用 的 比如 

$colour :#009688 #5FB878 #393D49 #1E9FFF #F7B824 #FF5722 ;

以上这种通用的变量抽出来,方便你在其他scss的样式里面调用

比如

li { 
 background: nth($colour,6) 
}

只存储变量,别放公共的样式进去切记公共的样式 你可以参考我之前的博客那种写法 

我直接上案例吧sass_3water.rar

案例里面有运行说明

我建议你还是跟我一步一步来走,比较刻骨铭心

第一步新建文件夹 assets然后新建两个scss文件 a1.scss cyc.scss

a1.scss

@charset "utf-8"; 
li { 
 span{color: nth($colour,6)} 
}

cyc.scss

@charset "utf-8"; 
//font 
body{ 
 background: yellow; 
} 
$colour :#009688 #5FB878 #393D49 #1E9FFF #F7B824 #FF5722 ;

第二 新建       pages/index.vue

<template> 
 <ul> 
  <li><span>1232323231</span></li> 
  <li><span>你好是多少打算的</span></li> 
 </ul> 
</template> 
 
<script> 
 import '~/assets/a1.scss';  
 export default { 
  name: 'date', 
  data () { 
   return { }//写死的数据 
  } 
 } 
</script> 
 
<style> 
</style>

第三 nuxt.config.js

const webpack = require('webpack'); 
 
module.exports = { 
 head: { 
  title: 'project', 
  meta: [ 
   { charset: 'utf-8' }, 
   { name: 'viewport', content: 'width=device-width, initial-scale=1' }, 
   { hid: 'description', name: 'description', content: 'Nuxt.js project' } 
  ] 
 }, 
 build: { 
  extend(config,ctx){ 
    const sassResourcesLoader = { 
    loader: 'sass-resources-loader', 
    options: { 
     resources: [ 
     'assets/cyc.scss' 
     ] 
    } 
    } 
    // 遍历nuxt定义的loader配置,向里面添加新的配置。 
    config.module.rules.forEach((rule) => { 
    if (rule.test.toString() === '/\\.vue$/') { 
     rule.options.loaders.sass.push(sassResourcesLoader) 
     rule.options.loaders.scss.push(sassResourcesLoader) 
    } 
    if (['/\\.sass$/', '/\\.scss$/'].indexOf(rule.test.toString()) !== -1) { 
     rule.use.push(sassResourcesLoader) 
    } 
    }) 
 
  }, 
 } 
}

第四  package.json  (ps:   package.json里面是我之前的配置 直接复制过来的 ,但是不碍事,照着做)

{ 
 "name": "test", 
 "dependencies": { 
 "axios": "^0.17.0", 
 "css-loader": "^0.28.7", 
 "jquery": "^3.2.1", 
 "mini-toastr": "^0.6.6", 
 "node-sass": "^4.5.3", 
 "nuxt": "^1.0.0-rc11", 
 "postcss-loader": "^2.0.8", 
 "sass-loader": "^6.0.6", 
 "sass-resources-loader": "^1.3.1", 
 "scss": "^0.2.4", 
 "style-loader": "^0.19.0", 
 "vue-notifications": "^0.9.0", 
 "vuex": "^3.0.1" 
 }, 
 "scripts": { 
 "dev": "nuxt", 
 "build": "nuxt build", 
 "start": "nuxt start", 
 "generate": "nuxt generate" 
 }, 
 "devDependencies": { 
 "coffee-loader": "^0.9.0", 
 "coffee-script": "^1.12.7", 
 "node-sass": "^4.5.3", 
 "pug": "^2.0.0-beta6", 
 "pug-loader": "^2.3.0", 
 "sass-loader": "^6.0.6" 
 } 
}

运行代码

这个是给你本地调试的  亲测 可以用  你会发现 我重复引用了  sass  这是因为 第二行  是官网给的, 我怕你更新失败了,所以让你在从淘宝更新一遍

npm install --save nuxt axios vuex 
npm install --save-dev pug@2.0.0-beta6 pug-loader coffee-script coffee-loader node-sass sass-loader 
npm install cnpm 
cnpm install --save node-sass sass-loader postcss-loader sass-resources-loader style-loader css-loader 
npm run dev//运行

好  到这里没了,调试是没问题了,如果你要打包成文件

npm run generate//打包 
//你打包好要放服务器上 不然 nuxt默认的那几个JS会报错 你就看不到效果了

要么你入口文件配置好

到这里就OK了,闲麻烦 你就直接从我开头给的链接进去下下来demo  直接运行就好了。

另外,因为我这个案例 是   引入 scss 的写法 ,如果你是写在style的  要这么写

<style lang="scss"> 
 li { 
  /*background: #fff;*/ 
  background: nth($colour,6) 
 } 
 
</style>

这里注意了  lang是   scss 不是sass

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

Javascript 相关文章推荐
JavaScript触发器详解
Mar 10 Javascript
checkbox使用示例
Aug 23 Javascript
JavaScript学习笔记之Cookie对象
Jan 22 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
Sep 14 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
Dec 15 Javascript
JS与jQuery实现隔行变色的方法
Sep 09 Javascript
Vue.js一个文件对应一个组件实践
Oct 27 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
May 17 Javascript
JQuery的加载和选择器用法简单示例
May 13 jQuery
微信小程序实现录音时的麦克风动画效果实例
May 18 Javascript
Vant picker 多级联动操作
Nov 02 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 #Javascript
详解解决使用axios发送json后台接收不到的问题
Jun 27 #Javascript
vue中v-model的应用及使用详解
Jun 27 #Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 #Javascript
Vue实现todolist删除功能
Jun 26 #Javascript
AngularJS实现动态切换样式的方法分析
Jun 26 #Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
Jun 26 #Javascript
You might like
php strcmp使用说明
2010/04/22 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
详解php实现页面静态化原理
2017/06/21 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
学习vue.js计算属性
2016/12/03 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
JS实现小米轮播图
2020/09/21 Javascript
微信跳一跳游戏python脚本
2020/04/01 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
Python 爬虫的原理
2020/07/30 Python
Python实现手势识别
2020/10/21 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
红旗团支部事迹材料
2014/01/27 职场文书
共产党员承诺书
2014/03/25 职场文书
建房协议书
2014/04/11 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
2014年行政工作总结
2014/11/19 职场文书
小学四年级学生评语
2014/12/26 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
检察院起诉意见书
2015/05/20 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis