详解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 相关文章推荐
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
Oct 25 Javascript
js和jquery分别验证单选框、复选框、下拉框
Dec 17 Javascript
原生JS实现平滑回到顶部组件
Mar 16 Javascript
深入理解jquery自定义动画animate()
May 24 Javascript
在web中js实现类似excel的表格控件
Sep 01 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
vue+SSM实现验证码功能
Dec 07 Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 Javascript
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
element-ui如何防止重复提交的方法步骤
Dec 09 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系列学习之日期函数使用介绍
2012/08/18 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
django使用LDAP验证的方法示例
2018/12/10 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
使用python制作一个解压缩软件
2019/11/13 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
深入了解python列表(LIST)
2020/06/08 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
销售人员获奖感言
2014/02/05 职场文书
工程合作意向书范本
2015/05/09 职场文书
团组织推荐意见
2015/06/05 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
浅谈如何保证Mysql主从一致
2022/03/13 MySQL