详解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实现点击标题输入详细信息
Apr 16 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
Oct 19 Javascript
浅谈jQuery.easyui的datebox格式化时间
Jun 25 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
详解RequireJS按需加载样式文件
Apr 12 Javascript
移动设备手势事件库Touch.js使用详解
Aug 18 Javascript
js封装成插件的步骤方法
Sep 11 Javascript
详解React 的几种条件渲染以及选择
Oct 23 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
Feb 21 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 Javascript
Angular进行简单单元测试的实现方法实例
Aug 16 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php网上商城购物车设计代码分享
2012/02/15 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
javascript 鼠标拖动图标技术
2010/02/07 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
Puppet的一些技巧
2018/09/17 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python函数返回值实例分析
2015/06/08 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
Python中字符串List按照长度排序
2019/07/01 Python
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
应届生人事助理求职信
2013/11/09 职场文书
装修协议书范本
2014/04/21 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
后勤工作个人总结
2015/02/28 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
修辞手法有哪些?
2019/08/29 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
python3实现无权最短路径的方法
2021/05/12 Python