详解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 相关文章推荐
xss文件页面内容读取(解决)
Nov 28 Javascript
javascript 事件绑定问题
Jan 01 Javascript
javascript使用定时函数实现跳转到某个页面
Dec 25 Javascript
JS cookie中文乱码解决方法
Jan 28 Javascript
jQuery版本升级踩坑大全
Jan 12 Javascript
JavaScript提高网站性能优化的建议(二)
Jul 24 Javascript
前端构建工具之gulp的配置与搭建详解
Jun 12 Javascript
Angularjs中ng-repeat的简单实例
Aug 25 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 Vue.js
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+APACHE实现用户论证的方法
2006/10/09 PHP
教你php如何实现验证码
2016/01/20 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
深入理解NumPy简明教程---数组1
2016/12/17 Python
django实现用户登陆功能详解
2017/12/11 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
python安装scipy的步骤解析
2019/09/28 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
2014年外联部工作总结
2014/11/17 职场文书
客房领班岗位职责
2015/02/11 职场文书
2016年教师节慰问信
2015/12/01 职场文书
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫