详解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显示随机图像或引用
Apr 21 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
JavaScript中Function详解
Feb 27 Javascript
用户代理字符串userAgent可实现的四个识别
Sep 20 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
Apr 26 Javascript
如何用JS判断两个数字的大小
Jul 21 Javascript
jquery.multiselect多选下拉框实现代码
Nov 11 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
vue通过watch对input做字数限定的方法
Jul 13 Javascript
js+html5实现侧滑页面效果
Jul 15 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 11 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 在文件指定行插入数据的代码
2010/05/08 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
二级域名转向类
2006/11/09 Javascript
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
详谈tensorflow gfile文件的用法
2020/02/05 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
会计实习生自我鉴定
2013/12/12 职场文书
安全协议书范本
2014/04/21 职场文书
单位工作证明
2014/10/07 职场文书
信访稳定工作汇报
2014/10/27 职场文书
数学教师个人总结
2015/02/06 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python